更改GridView的ColumnHeader的字体大小

THX*_*138 2 wpf gridview themes styles templating

是否有一种简单的方法来更改标题字体大小而不覆盖完全复制ColumnHeaderTemplate?

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

rmo*_*ore 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>
Run Code Online (Sandbox Code Playgroud)


编辑:
我之前没有使用内置主题,所以我测试了这个.PresentationFramework.Royale主题实际上并未将模板应用于列标题.它正在应用一个使用setter来应用ControlTemplate的Style .

因此,为了将Royale主题保留在Column Headers上,我们需要使用我们创建的Style的BasedOn属性.这是更新的Style deffinition,它允许您修改自己喜欢的内容,并保留Royale主题:

<Style TargetType="{x:Type GridViewColumnHeader}" BasedOn="{StaticResource {x:Type GridViewColumnHeader}}">
Run Code Online (Sandbox Code Playgroud)