2013-08-13 12 views
15

Używam DataSet do wypełnienia DataGrid w WPF (C#). Wynikiem jest:Usuń pustą kolumnę w DataGrid WPF

enter image description here

Chcę usunąć puste kolumny po lewej stronie. I chcę udostępnić pozostałe spacje kolumnom. Oczekiwany wynik to:

enter image description here

Mój kod XAML jest:

<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> 

Odpowiedz

33

Unikaj ustawiania statycznej wysokości i szerokości.

Zastosowanie ColumnWidth="*" dzielić przestrzeń pomiędzy swoimi 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" /> 
+0

działa idealnie! Dziękuję Ci! Czy możesz pomóc mi wyrównać cały tekst (komórki i nagłówek) jako środek? –

+1

Proszę sprawdzić ten wpis SO, aby wyrównać tekst komórki. http://stackoverflow.com/questions/3652318/datagrid-text-alignment – Nitesh

+0

Ten wpis SO, aby wyrównać zawartość nagłówka. http://stackoverflow.com/questions/8810507/how-to-right-align-text-in-a-datagrid-column-header-in-xaml – Nitesh

2

Można ustawić ostatnią kolumnę lub jednej kolumnie Grid z

<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>