Выравнивание текста в Datagrid - PullRequest
       8

Выравнивание текста в Datagrid

7 голосов
/ 06 сентября 2010

Мне было интересно, есть ли у кого-нибудь простой способ получить текст в сетке данных WPF для выравнивания по центру. Я заставил сетку данных работать нормально, но правильное выравнивание текста беспокоило меня. Я немного поглядел и загрузил wpftoolkit, но примеры либо не работают, либо выдают ошибку компиляции. Я добавил ссылку на wpftoolkit в мой проект. Любая помощь будет оценена. Спасибо

xaml для сетки данных выглядит следующим образом

<WpfToolkit:DataGrid AutoGenerateColumns="True" Margin="15,15,10,65" Name="DG1" CanUserReorderColumns="False" />

1 Ответ

18 голосов
/ 06 сентября 2010

Если для свойства Block.TextAlignment установить значение Center on DataGrid, оно будет наследоваться TextBlocks и TextBoxes, используемыми в DataGridTextColumns, и будет центрировать текст:

<WpfToolkit:DataGrid
    Block.TextAlignment="Center"
    AutoGenerateColumns="True"
    Margin="15,15,10,65"
    Name="DG1"
    CanUserReorderColumns="False" />

Если вы хотите выровнять текст в ячейках, но не в заголовках или в других местах таблицы, вы можете установить свойство в DataGridCell с помощью CellStyle:

<WpfToolkit:DataGrid
    AutoGenerateColumns="True"
    Margin="15,15,10,65"
    Name="DG1"
    CanUserReorderColumns="False">
    <WpfToolkit:DataGrid.CellStyle>
        <Style TargetType="WpfToolkit:DataGridCell">
            <Setter Property="Block.TextAlignment" Value="Center"/>
        </Style>
    </WpfToolkit:DataGrid.CellStyle>
...