我有 DevExpress GridControl,它有 7 列。
我试图将最后一列向右展开,但没有任何 react 。
取而代之的是,该列会拉伸(stretch)一段距离,并且在网格的右边缘,有一个没有名称的空列,无法进行拉伸(stretch)。
所以,我试着用谷歌搜索:我找到了一些答案,比如 this ,但它对我不起作用。
这里有一些 XAML 的和平,我删除了所有绑定(bind)。
<dxg:GridControl Grid.Row="0"
x:Name="dgGrid"
VerticalAlignment="Stretch"
HorizontalAlignment="Stretch"
dx:ThemeManager.ThemeName="Seven"
ScrollViewer.CanContentScroll="True"
ScrollViewer.HorizontalScrollBarVisibility="Auto"
ScrollViewer.VerticalScrollBarVisibility="Auto"
>
<dxg:GridControl.View>
<!--region #RowCellMenuCustomization-->
<dxg:TableView x:Name="view" AutoWidth="True" NavigationStyle="Cell">
<dxg:TableView.RowCellMenuCustomizations>
<dxb:BarButtonItem Content="Link"
ItemClick="CellDataItem_Link_ItemClick"
></dxb:BarButtonItem>
<dxb:BarButtonItem Content="UnLink"
ItemClick="CellDataItem_UnLink_ItemClick"
></dxb:BarButtonItem>
</dxg:TableView.RowCellMenuCustomizations>
</dxg:TableView>
<!--endregion #RowCellMenuCustomization-->
</dxg:GridControl.View>
<dxg:GridControl.Columns>
<dxg:GridColumn Header="Column0"
AllowEditing="False"
HorizontalHeaderContentAlignment="Stretch"
FixedWidth="True"
AllowResizing="True"
MinWidth="80"
></dxg:GridColumn>
<dxg:GridColumn Header="Column1"
AllowEditing="False"
HorizontalHeaderContentAlignment="Stretch"
FixedWidth="True"
AllowResizing="True"
MinWidth="80"
></dxg:GridColumn>
<dxg:GridColumn Header="Column2"
AllowEditing="False"
HorizontalHeaderContentAlignment="Stretch"
AllowResizing="True"
FixedWidth="True"
Visible="False"
MinWidth="80"
></dxg:GridColumn>
<dxg:GridColumn Header="Column3"
HorizontalHeaderContentAlignment="Center"
AllowEditing="False"
Width="35"
FixedWidth="True"
AllowResizing="False"
></dxg:GridColumn>
<dxg:GridColumn Header="Column4"
HorizontalHeaderContentAlignment="Center"
FixedWidth="True"
AllowEditing="False"
AllowResizing="False"
Width="35"
></dxg:GridColumn>
<dxg:GridColumn Header="Column5"
HorizontalHeaderContentAlignment="Stretch"
FixedWidth="True"
AllowEditing="False"
AllowResizing="True"
MinWidth="170"
></dxg:GridColumn>
<dxg:GridColumn Header="Column6"
HorizontalHeaderContentAlignment="Stretch"
AllowEditing="False"
AllowResizing="True"
Width="*"
Fixed="None"
BestFitMode="Default"
BestFitArea="All"
MinWidth="130"
FixedWidth="False"
/>
</dxg:GridControl.Columns>
</dxg:GridControl>
同时,我使用
BestFit
方法,该方法在 GridControl 加载时起作用:private void Grid_Loaded(object sender, RoutedEventArgs e)
{
((TableView)this.view).BestFitArea = BestFitArea.All;
var visibleColumns = ((TableView)this.view).VisibleColumns;
((TableView)this.view).BestFitColumns();
}
拜托,你能帮我把最后一列 (Column6) 的宽度调整到网格的末尾吗?
最佳答案
TableView.AutoWidth
属性正是您要寻找的。您已经设置了它,但是您的 Column6
中有错误。列的 Width
不能设置为 "*"
。所以,我使用了你的代码,删除了 Width="*"
,结果如下: