J'ai un DataGrid régulier de WPF 4.0 RTM, où je place des données à partir d'une base de données. Afin de rendre propre & style léger de DataGrid j'utilise une haute/haute rangées et par défaut DataGrid aligne le contenu de la ligne dans la position verticale supérieure, mais je veux définir un alignement vertical central.Alignement vertical du contenu de la ligne DataGrid
Je l'ai déjà essayé d'utiliser cette propriété
VerticalAlignment="Center"
dans les options de DataGrid, mais il ne me permet pas.
Voici un exemple de XAML code, décrivant mon DataGrid sans centre alignement vertical:
<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>
Résultat d'exécution de ce code:
Comme vous pouvez le voir le contenu de tous les rangs a l'alignement vertical supérieur.
Que dois-je ajouter pour obtenir l'alignement vertical du centre de chaque contenu de ligne?
Merci.
Anot son approche, en utilisant l'héritage DataGridColumn: http://blog.smoura.com/wpf-toolkit-datagrid-part-iii-playing-with-datagridcolumns-and-datagridcells/ - permet de définir simplement la propriété VerticalAlignment sur la colonne héritée - nécessite héritant de chaque type de colonne utilisé, c'est donc une limitation. Peut-être que quelqu'un va le traduire en comportement? – surfen