我在从 TabControl 的 ItemContainerStyle 中的默认样式继承时遇到问题。
目的是继承主题风格,只改变一些属性。
如果我编写此 XAML 代码,则使用默认的 TabItem 样式,但不使用主题样式。你知道为什么吗?
<TabControl>
<TabControl.Resources>
<Style TargetType="Button" BasedOn="{StaticResource {x:Type Button}}">
<Setter Property="Background" Value="DarkBlue"/>
</Style>
</TabControl.Resources>
<TabControl.ItemContainerStyle>
<Style TargetType="TabItem" BasedOn="{StaticResource {x:Type TabItem}}">
<Setter Property="Background" Value="Blue"/>
<Setter Property="Foreground" Value="Red"/>
</Style>
</TabControl.ItemContainerStyle>
<TabItem Header="Tab 1"/>
<TabItem Header="Tab 2"/>
<TabItem Header="Tab 3"/>
<TabItem Header="Tab 4"/>
</TabControl>
PS:对资源中的按钮做同样的事情,效果很好。为什么它没有 TabItem 样式?与 ItemContainerStyle 有什么关系?
PS2:我的主题风格(默认风格)是存储在应用资源中的。
谢谢
编辑 1
您可以在我的 dropbox 上找到示例项目: https ://dl.dropboxusercontent.com/u/61987557/InheritDefaultStyle.zip