是否有一种简单的方法来更改标题字体大小,而无需完全复制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的Style。

因此,为了将Royale主题保留在Column Headers上,我们确实需要使用我们创建的Style的BasedOn属性。这是更新的样式定义,将使您可以修改自己喜欢的样式并保留Royale主题:
<Style TargetType="{x:Type GridViewColumnHeader}" BasedOn="{StaticResource {x:Type GridViewColumnHeader}}">

08-24 19:20