删除 WPF DataGrid 中的空白列
Posted
技术标签:
【中文标题】删除 WPF DataGrid 中的空白列【英文标题】:Remove the blank column in a WPF DataGrid 【发布时间】:2013-08-15 10:07:35 【问题描述】:我使用 DataSet 在 WPF (C#) 中填充 DataGrid。结果是:
我想删除左侧的空白列。我想将剩余空间共享给列。预期结果是:
我的 XAML 代码是:
<Window x:Class="RFID.CareerWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="CareerWindow" Height="356" Width="404">
<Grid>
<DataGrid x:Name="dg1" HorizontalAlignment="Left" Margin="25,10,0,0" VerticalAlignment="Top" Height="306" Width="355" EnableRowVirtualization="false" EnableColumnVirtualization="false" FontFamily="2 badr" FontSize="20" FlowDirection="RightToLeft" CanUserAddRows="False" CanUserReorderColumns="False"/>
</Grid>
</Window>
【问题讨论】:
【参考方案1】:避免设置静态的高度和宽度。
使用ColumnWidth="*"
共享DataGridColumns 之间的空间
<DataGrid x:Name="dg1" ColumnWidth="*"
HorizontalAlignment="Left" VerticalAlignment="Top" Margin="25,10,0,0"
EnableRowVirtualization="false" EnableColumnVirtualization="false"
FontFamily="2 badr" FontSize="20" FlowDirection="RightToLeft"
CanUserAddRows="False" CanUserReorderColumns="False" />
【讨论】:
完美运行!谢谢!现在,您能帮我将所有文本(单元格和标题)居中对齐吗? 请检查此 SO 帖子以对齐单元格文本。 ***.com/questions/3652318/datagrid-text-alignment 此 SO 帖子以对齐标题内容。 ***.com/questions/8810507/…HorizontalAlignment="Left"
是为我做的。【参考方案2】:
您可以使用
设置Grid
的最后一列或一列
<DataGridTextColumn Header="Surname"
Width="*"
Binding="Binding Path=Surname,Mode=TwoWay" IsReadOnly="True">
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
<Setter Property="HorizontalAlignment" Value="Left" />
<Setter Property="VerticalAlignment" Value="Center" />
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
【讨论】:
以上是关于删除 WPF DataGrid 中的空白列的主要内容,如果未能解决你的问题,请参考以下文章