代码之家  ›  专栏  ›  技术社区  ›  Brandon Montgomery

Silverlight DataGrid标头水平对齐

  •  6
  • Brandon Montgomery  · 技术社区  · 16 年前

    我想在Silverlight中更改datagrid上标头的对齐方式,但我似乎不知道该怎么做。以下是我目前掌握的情况:

      <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 回复  |  直到 16 年前
        1
  •  9
  •   AnthonyWJones    16 年前

    <Setter Property="HorizontalContentAlignment" Value="Center"/>
    
        2
  •  2
  •   jon    15 年前

    也许加上填充物让它看起来更好。。。

        <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
  •  0
  •   tobewan    14 年前

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

    谢谢