是否有一种简单的方法可以更改标题字体大小而不会覆盖完全复制ColumnHeaderTemplate?
注意:不确定它是否相关,但我使用提供ColumnHeaderTemplate的应用程序主题(PresentationFramework.Royale)。
答案 0 :(得分:7)
如果您还没有将样式应用于列标题,则可以使用它。即使你是这样,通过在样式上设置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主题实际上并未将模板应用于列标题。它正在应用一个使用setter来应用ControlTemplate like recommended的样式。
因此,为了将Royale主题保留在Column Headers上,我们需要使用我们创建的Style的BasedOn属性。这是更新的Style deffinition,它既可以修改你喜欢的内容,也可以保留Royale主题:
<Style TargetType="{x:Type GridViewColumnHeader}" BasedOn="{StaticResource {x:Type GridViewColumnHeader}}">
答案 1 :(得分:0)
GridViewColumnHeader是一个内容控件,因此如果您将其内容设置为TextBlock,其中您想要的文本大小合适,那么生活应该是好的。