Как центрировать текст в заголовке столбца datagridtextcolumn?
У меня есть
DataGrid
в которой я создаю свои собственные столбцы в XAML. Я пытаюсь центрировать текст в одном из заголовков столбцов, используя следующий XAML:<DataGridTextColumn Header="Name" Binding="{Binding Name}" Width="180" CanUserResize="False"> <DataGridTextColumn.HeaderStyle> <Style TargetType="{x:Type DataGridColumnHeader}"> <Setter Property="HorizontalAlignment" Value="Center"/> </Style> </DataGridTextColumn.HeaderStyle> </DataGridTextColumn>
Это действительно центрирует текст, но ширина заголовка установлена на "авто", под которым я подразумеваю, что он достаточно широк, чтобы содержать текст " имя " в заголовке. Я вижу это, когда навожу курсор на заголовок: подсветка охватывает только слово "имя", а не весь заголовок столбца.
Поэтому я подумал, что это будет просто случай установки ширины заголовка явно в его стиле, чтобы он соответствовал ширине столбца, например:
<DataGridTextColumn Header="Name" Binding="{Binding Name}" Width="180" CanUserResize="False"> <DataGridTextColumn.HeaderStyle> <Style TargetType="{x:Type DataGridColumnHeader}"> <Setter Property="HorizontalAlignment" Value="Center"/> <Setter Property="Width" Value="180"/> </Style> </DataGridTextColumn.HeaderStyle> </DataGridTextColumn>
Теперь это действительно устанавливает ширину заголовка, но теперь мой
HorizontalAlignment
игнорируется, и текст перемещается обратно влево.Почему я не могу этого сделать? Кто-нибудь знает, как это исправить?
Что я уже пробовал:
Я также экспериментировал с
HorizontalAlignment
от Stretch
, но это оставляет текст выровненным по левому краю.