Silverlight DataGrid标题水平对齐

时间:2010-03-11 16:54:45

标签: silverlight datagrid

我想在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 个答案:

答案 0 :(得分:9)

你真的很亲密,它的: -

<Setter Property="HorizontalContentAlignment" Value="Center"/>

答案 1 :(得分:2)

也许添加填充以使其看起来更好......

    <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>

答案 2 :(得分:0)

似乎这种方法有效,但你得到了默认的标题,右对齐。我有一个datagridcolumnheader的静态资源样式,我想要更改对齐,留下自定义样式中包含的所有其他样式元素。 到目前为止,我有:

xmlns:sdk="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Data"
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中定义的

由于