我正在使用WPF和MVVM。我安装了Mahapps Metro,这个nuget包为我的应用程序提供了所有样式。我创建了一个TabControl,但是Mahapps在每个TabItem中用于标题的FontSize对于我的应用程序来说非常大。我需要创建一个StaticResource来更改TabItem中标题的FontSize,而不删除Mahaps提供的其他属性。
ljsrvy3e1#
将下列程式码放入 windows 的资源中,例如:
<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行],您可以看到程序员为设置此属性做了一个特殊的例外,因为字体位于Content Presenter内的控件模板中。设置ControlsHelper.HeaderFontSize属性更容易。
b0zn9rqh2#
按照上面答案中的建议,将下面的代码放到Window中。资源
<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="15"></Setter> </Style> <Window.Resources>
在TabItem区段中,加入样式详细数据。
<TabItem Header="Dimension Alias" Style="{DynamicResource MenuLevel2}">
这对我很有效。
eqzww0vc3#
似乎API自2019年以来发生了更改。“ControlHelper”似乎不再存在。有关更改的一些信息,请参阅:link to MahApps GitHub issue下面是对我有效的代码:
<mah:MetroWindow.Resources> <Style BasedOn="{StaticResource MahApps.Styles.TabControl}" TargetType="TabControl"> <Setter Property="mah:HeaderedControlHelper.HeaderFontSize" Value="12" /> <Setter Property="mah:HeaderedControlHelper.HeaderFontWeight" Value="Bold" /> </Style> </mah:MetroWindow.Resources>
3条答案
按热度按时间ljsrvy3e1#
将下列程式码放入 windows 的资源中,例如:
查看源代码[ https://github.com/MahApps/MahApps.Metro/blob/master/MahApps.Metro/Styles/Controls.TabControl.xaml,第158行],您可以看到程序员为设置此属性做了一个特殊的例外,因为字体位于Content Presenter内的控件模板中。设置ControlsHelper.HeaderFontSize属性更容易。
b0zn9rqh2#
按照上面答案中的建议,将下面的代码放到Window中。资源
在TabItem区段中,加入样式详细数据。
这对我很有效。
eqzww0vc3#
似乎API自2019年以来发生了更改。“ControlHelper”似乎不再存在。有关更改的一些信息,请参阅:link to MahApps GitHub issue
下面是对我有效的代码: