我正在使用WPF和MVVM。我安装了Mahapps Metro,此nuget包为我的应用程序提供了所有样式。

我做了一个TabControl,但是Mahapps在每个TabItem中用于标题的FontSize对于我的应用程序来说非常大。

我需要创建一个StaticResource来更改TabItem中 header 的FontSize而不删除Mahapps提供的其他属性。

最佳答案

将以下代码放在窗口的资源中,例如:

<Window
......
xmlns:mah="http://metro.mahapps.com/winfx/xaml/controls"
......
>
<Window.Resources>
        <Style x:Key="MenuLevel2" BasedOn="{StaticResource MetroTabItem}" TargetType="{x:Type TabItem}">
            <Setter Property="mah:ControlsHelper.HeaderFontSize" Value="24"></Setter>
        </Style>
<Window.Resources>

查看源代码[https://github.com/MahApps/MahApps.Metro/blob/master/MahApps.Metro/Styles/Controls.TabControl.xaml,在第158行],您可以看到程序员在设置此属性方面有特殊的异常(exception),因为该字体位于Content Presenter中的“控件模板”中。设置ControlsHelper.HeaderFontSize属性更加容易。

关于c# - 为我覆盖Mahapps Metro标题标题Tabitem,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23377194/

10-12 01:08