2009-06-03 341 views
2

是否有一种简单的方法可以在不覆盖完全重复的ColumnHeaderTemplate的情况下更改标题字体大小?更改GridView的ColumnHeader的字体大小

注意:不确定它是否相关,但我使用提供ColumnHeaderTemplate的应用程序主题(PresentationFramework.Royale)。

回答

6

如果您还没有将样式应用于列标题,则可以使用该样式。即使你是这样,通过在样式上设置BasedOn属性,你可以维护一切,但是你想改变。

<ListView> 
    <ListView.View> 
     <GridView> 
      <GridView.ColumnHeaderContainerStyle> 
       <Style> 
        <Setter Property="TextElement.FontSize" 
          Value="32" /> 
       </Style> 
      </GridView.ColumnHeaderContainerStyle> 
      <GridViewColumn Header="Stuff"/> 
      <GridViewColumn Header="More Stuff" /> 
     </GridView> 
    </ListView.View> 
</ListView> 


编辑:
我没有使用内置的主题之前,我测试了这一点。 PresentationFramework.Royale主题实际上并不是将模板应用于列标题。它正在应用一种使用二传手来应用ControlTemplate like recommended的风格。

因此,为了在列标题上保留Royale主题,我们需要使用我们创建的样式的BasedOn属性。下面是更新样式deffinition这都将让你修改你喜欢什么,并保留皇家主题:

<Style TargetType="{x:Type GridViewColumnHeader}" BasedOn="{StaticResource {x:Type GridViewColumnHeader}}"> 
0

的GridViewColumnHeader是内容控制,因此,如果您的内容设置为一个TextBlock中的文本你想要的是适当的大小,生活应该是好的。