Центрирование текста по горизонтали в столбце 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, там можно задать стили для текстбокса, в котором редактируется ячейка.

→ Ссылка