Горизонтальное выравнивание заголовка DataGrid Silverlight - PullRequest
6 голосов
/ 11 марта 2010

Я хочу изменить выравнивание заголовка на сетке данных в Silverlight, и я не могу понять, как это сделать. Вот что у меня есть:

  <data:DataGridTextColumn Header="#" 
                            IsReadOnly="True"
                            ElementStyle="{StaticResource CenterAlignStyle}" 
                            Binding="{Binding OutlineNumber, Mode=OneWay}" >
    <data:DataGridTextColumn.HeaderStyle>
      <Style TargetType="prim:DataGridColumnHeader">
        <Setter Property="HorizontalAlignment" Value="Center"/>
      </Style>
    </data:DataGridTextColumn.HeaderStyle>
  </data:DataGridTextColumn>

Независимо от того, что я пытаюсь, я не могу изменить выравнивание по умолчанию, которое кажется "левым".

Ответы [ 3 ]

9 голосов
/ 11 марта 2010

Вы были действительно близко, это: -

<Setter Property="HorizontalContentAlignment" Value="Center"/>
2 голосов
/ 18 апреля 2011

Возможно, добавьте отступы, чтобы он выглядел лучше ...

    <Style x:Key="HeaderCenter"
           TargetType="dataPrimitives:DataGridColumnHeader">
        <Setter Property="HorizontalContentAlignment"
                Value="Center" />
        <Setter Property="HorizontalAlignment"
                Value="Stretch" />
        <Setter Property="Padding"
                Value="12,2,2,2" />
    </Style>
0 голосов
/ 13 февраля 2012

Кажется, этот подход работает, но вы получаете заголовок по умолчанию, выровненный по правому краю. У меня есть статический стиль ресурса для заголовка datagridcolumnheader, и я only хочу изменить выравнивание, оставив все другие элементы стиля, содержащиеся в пользовательском стиле. Пока у меня есть:

xmlns:sdk="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Data"<br> xmlns:prim="clr-namespace:System.Windows.Controls.Primitives;assembly=System.Windows.Controls.Data"

и

<sdk:DataGrid  x:Name="ServicesDataGrid" Width="Auto" Margin="15,5,5,5" ColumnHeaderStyle="{StaticResource DataGridColHeaderStyle}" ......

и

<sdk:DataGridTextColumn Header="Gross Amt" Binding="{Binding GrossAmount,StringFormat=n2}" ElementStyle="{StaticResource RightAlignStyle}"> <sdk:DataGridTextColumn.HeaderStyle> <Style TargetType="prim:DataGridColumnHeader"> <Setter Property="HorizontalContentAlignment" Value="Right"/> </Style> </sdk:DataGridTextColumn.HeaderStyle> </sdk:DataGridTextColumn>

Изменение размера сетки показывает, что текст выровнен по правому краю, но шрифт, фон и т. Д. Не соответствуют определению в DataGridColHeaderStyle

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...