【问题标题】:Silverlight DataGrid Header Horizontal AlignmentSilverlight DataGrid 标题水平对齐
【发布时间】:2011-01-26 11:37:53
【问题描述】:

我想在 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>

无论我尝试什么,我似乎都无法更改默认对齐方式,它似乎是“左”。

【问题讨论】:

  • 我也有同样的问题。这有什么好运气吗?

标签: silverlight datagrid


【解决方案1】:

你真的很亲密,它:-

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

【讨论】:

  • 实际上,这确实有效!我没有意识到这一点,因为我没有调整列的大小以查看文本确实与标题右侧对齐。非常感谢!
【解决方案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>

【讨论】:

    【解决方案3】:

    这种方法似乎可行,但您会得到默认标题,右对齐。我有一个用于 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 中的定义不同

    谢谢

    【讨论】:

      猜你喜欢
      • 2012-11-07
      • 1970-01-01
      • 2014-08-08
      • 1970-01-01
      • 1970-01-01
      • 2014-05-27
      • 1970-01-01
      • 2013-08-15
      • 1970-01-01
      相关资源
      最近更新 更多