我想在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>
无论我尝试什么,我似乎都无法更改默认对齐方式,这似乎是“离开”。
答案 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中定义的
由于