2012-10-18 53 views
1

我无法在Silverlight居中列标题4.的Silverlight 4的DataGrid中心列标题

这是我的静态资源:

<my:CAddTransaction.Resources> 
     <Style x:Name="CenterHeaderText" TargetType="sdk:DataGridColumnHeader"> 
      <Setter Property="HorizontalContentAlignment" Value="Center"/> 
     </Style> 
</my:CAddTransaction.Resources> 

这列:

<sdk:DataGridTemplateColumn Header="Include?" HeaderStyle="{StaticResource CenterHeaderText}" > 
     <sdk:DataGridTemplateColumn.CellTemplate> 
      <DataTemplate> 
        <CheckBox Name="bInclude" IsChecked="{Binding bInclude, Mode=TwoWay}" HorizontalAlignment="Center" VerticalAlignment="Center" /> 
      </DataTemplate> 
     </sdk:DataGridTemplateColumn.CellTemplate> 
</sdk:DataGridTemplateColumn> 

结果是列标题左对齐。

+0

我认为它居中,只是由于右边的一些填充而偏移了一点。不知道你怎么修复... – McGarnagle

+0

检查它是否仍然显示'排序图标':) – BreakHead

+0

@dbaseman ..我认为你的权利。标题右侧似乎出现了一些情况。我在标题文本的前面放置了几个空格,文本一直到单元格的右侧,文本开始消失。如果有人知道如何摆脱这一点,我将不胜感激。 –

回答

0

这个工作对我来说:

<controls:DataGridTextColumn Binding="{Binding Path=Login}" Header="My Column Title" Width="100"> 
    <controls:DataGridTextColumn.HeaderStyle> 
     <Style TargetType="dataprimitives:DataGridColumnHeader"> 
      <Setter Property="HorizontalAlignment" Value="Center"/> 
     </Style> 
    </controls:DataGridTextColumn.HeaderStyle> 
</controls:DataGridTextColumn> 
0

如果STIL需要帮助,这个工作正常,我。此外当用户更改列宽。

<DataGridCheckBoxColumn> 
    <DataGridCheckBoxColumn.HeaderStyle> 
     <Style TargetType="DataGridColumnHeader"> 
      <Setter Property="HorizontalContentAlignment" Value="Center"/> 
     </Style> 
    </DataGridCheckBoxColumn.HeaderStyle> 
</DataGridCheckBoxColumn>