我在 DataGridTextColumn 中垂直对齐文本
<DataGridTextColumn Binding="{Binding Path=Name}"
Header="..."
SortDirection="Ascending">
<DataGridTextColumn.CellStyle>
<Style>
<Setter Property="FrameworkElement.VerticalAlignment" Value="Center"/>
</Style>
</DataGridTextColumn.CellStyle>
</DataGridTextColumn>

不幸的是,标准单元格模板无法用样式纠正此行为,您将不得不更改模板(幸运的是,至少更改会很简单),为此,右键单击 DataGrid 中的设计师和选择Edit Additional Templates- Edit CellStyle-Edit a Copy...
在模板(
<Setter Property="Template">)中添加的标准样式中,找到ContentPresenter代表单元格内容的样式并将其设置为VerticalAlignment="Center"如果您希望能够在不同的列中以不同的方式调整对齐方式,那么您可以绑定:而不是显式指定值,
VerticalAlignment="{TemplateBinding VerticalContentAlignment}"然后在列中我们这样做:这是首选和最通用的方法。