我使用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>
答案 0 :(得分:35)
避免设置静态高度和宽度。
使用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" />
答案 1 :(得分: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>