Удалите пустой столбец в WPF DataGrid

Я использую DataSet для заполнения DataGrid в WPF (С#). Результат:

enter image description here

Я хочу удалить пустой столбец слева. И я хочу поделиться ссылкой на столбцы. Ожидаемый результат:

enter image description here

Мой код 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" />

Ответ 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>