Ho un DataGrid regolare da RTF WPF 4.0, dove inserisco i dati da un database. Per rendere pulito lo stile leggero di DataGrid, io uso righe alte/alte e, per impostazione predefinita, DataGrid allinea il contenuto della riga nella posizione verticale superiore, ma voglio impostare un allineamento verticale centrale.Allineamento verticale del contenuto della riga DataGrid
Ho già provato a utilizzare questa proprietà
VerticalAlignment="Center"
nelle opzioni di DataGrid, ma non mi aiuta.
Ecco un esempio di XAML-code, che descrive il mio DataGrid senza centro allineamento verticale:
<DataGrid x:Name="ContentDataGrid"
Style="{StaticResource ContentDataGrid}"
ItemsSource="{Binding}"
RowEditEnding="ContentDataGrid_RowEditEnding">
<DataGrid.Columns>
<DataGridTextColumn Header="UserID"
Width="100"
IsReadOnly="True"
Binding="{Binding Path=userID}" />
<DataGridTextColumn Header="UserName"
Width="100"
Binding="{Binding Path=userName}" />
<DataGridTextColumn Header="UserAccessLevel"
Width="100"
Binding="{Binding Path=userAccessLevel}" />
<DataGridTextColumn Header="UserPassword"
Width="*"
Binding="{Binding Path=userPassword}" />
</DataGrid.Columns>
</DataGrid>
Risultato di esecuzione di questo codice:
Come si può vedere il contenuto tutto di fila ha allineamento verticale superiore.
Cosa devo aggiungere per ottenere l'allineamento verticale centrale di ogni contenuto di riga?
Grazie.
Anot il suo approccio, usando l'ereditarietà di DataGridColumn: http://blog.smoura.com/wpf-toolkit-datagrid-part-iii-playing-with-datagridcolumns-and-datagridcells/ - permette di impostare semplicemente la proprietà VerticalAlignment sulla colonna ereditata - richiede ereditando da ogni tipo di colonna usato, quindi è piuttosto una limitazione. Forse qualcuno lo tradurrà in comportamento? – surfen