有没有一种简单的方法可以在不覆盖完全复制的 ColumnHeaderTemplate 的情况下更改标题字体大小?
注意:不确定它是否相关,但我使用提供 ColumnHeaderTemplate 的应用程序主题 (PresentationFramework.Royale)。
最佳答案
如果您还没有对列标题应用样式,则可以使用它。即使您是,通过在样式上设置 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 主题,我们确实需要使用我们创建的样式的 BasedOn 属性。这是更新后的样式定义,既可以让您修改自己喜欢的内容,又可以保留 Royale 主题:
<Style TargetType="{x:Type GridViewColumnHeader}" BasedOn="{StaticResource {x:Type GridViewColumnHeader}}">
关于wpf - 更改 GridView 列标题的字体大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/947176/