我正在使用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/