MahApps.MetroTabItem
template使用动态资源与"GrayNormalBrush"
键时,它的不活动的字体颜色。所以你所需要做的就是提供一个你喜欢的Brush
作为这个关键的资源。根据变化的范围,你想让你必须选择一个合适的地方来放置你的画笔。
改变单一TabItem
要更改无效刷上一个TabItem
,把刷子在其资源词典:
<TabItem>
<TabItem.Resource>
<SolidColorBrush x:Key="GrayNormalBrush" Color="Red" />
</TabItem.Resources>
</TabItem>
改变中的单个TabControl
所有
TabItem
小号
修改所有TabItem
s TabControl
应覆盖TabItem
的默认样式,把刷子在其资源字典,并把这种风格为TabControl
的资源:
<TabControl>
<TabControl.Resources>
<!-- It's important to set the BasedOn property so that we
override the style rather than redefine it -->
<Style TargetType="{x:Type TabItem}" BasedOn="{StaticResource {x:Type TabItem}}">
<Style.Resources>
<SolidColorBrush x:Key="GrayNormalBrush" Color="Red" />
</Style.Resources>
</Style>
</TabControl.Resources>
</TabControl>
你也可以移动的风格了层次结构,以扩大其范围,例如如果您将该样式作为Window
的资源,则该窗口内的所有TabItem
将被修改。
在整个应用程序
这部分更改所有TabItem
经证实比只是把这种风格在App.xaml中资源字典麻烦一点。关键是这个样式应该被定义为MahApps.Metro一个被引用。就我而言,我在有MahApps.Metro字典引用的App.xaml和也把这种风格在那里,第一TabItem
完全没有风格,而下述的人罚款和花花公子。
诀窍是创建一个单独的文件一本字典,说Resources.xaml,把这种风格出现,并参考来自App.xaml中字典。请注意,字典的引用顺序对于此解决方案的工作至关重要:
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Controls.xaml" />
<ResourceDictionary Source="Resources.xaml" />
...
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
谢谢。这有帮助。是否也可以对字体进行其他更改?就像使所选标签的标题字体为粗体。我尝试使用 ,但它改变了标签内容的字体而不是标签标题字体。 –
ilmenite