Центрирование текста по горизонтали в столбце DataGrid в приложении WPF
Я пытаюсь центрировать текст в столбце таблицы DataGrid. Я использую свойство TextBlock.TextAlignment="Center" для центрирования по горизонтали, но оно не работает.
Пример кода на XAML:
<UserControl x:Class="WpfApp.UserDataGrid"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:WpfApp"
mc:Ignorable="d"
d:DesignHeight="450" d:DesignWidth="800">
<Grid>
<DataGrid Grid.Column="1">
<DataGrid.Columns>
<DataGridTextColumn Header="Column1" Width="150" TextBlock.TextAlignment="Center"/>
</DataGrid.Columns>
</DataGrid>
</Grid>
</UserControl>
Как решить ету проблему?
Ответы (1 шт):
Автор решения: aepot
→ Ссылка
<DataGridTextColumn Header="Column1" Width="150">
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
<Setter Property="TextAlignment" Value="Center"/>
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
Или так
<DataGrid.Resources>
<Style x:Key="CenterTextStyle" TargetType="TextBlock">
<Setter Property="TextAlignment" Value="Center"/>
</Style>
</DataGrid.Resources>
<DataGrid.Columns>
<DataGridTextColumn Header="Column1" Width="150" ElementStyle="{StaticResource CenterTextStyle}"/>
</DataGrid.Columns>
Есть еще EditingElementStyle, там можно задать стили для текстбокса, в котором редактируется ячейка.