有没有一种简单的方法来更改标题字体大小而不覆盖完全复制的 ColumnHeaderTemplate?
注意:不确定是否相关,但我使用提供 ColumnHeaderTemplate 的应用程序主题 (PresentationFramework.Royale)。
有没有一种简单的方法来更改标题字体大小而不覆盖完全复制的 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 主题实际上并未将模板应用于列标题。它正在应用一个 Style,它使用一个 setter 来应用ControlTemplate,就像推荐的一样。
因此,为了在列标题上保留 Royale 主题,我们确实需要使用我们创建的 Style 的 BasedOn 属性。这是更新后的样式定义,既允许您修改自己喜欢的内容,又保留皇家主题:
<Style TargetType="{x:Type GridViewColumnHeader}" BasedOn="{StaticResource {x:Type GridViewColumnHeader}}">
GridViewColumnHeader 是一个内容控件,因此如果您将其内容设置为 TextBlock,其中您想要的文本大小合适,生活应该会很好。