【发布时间】:2013-05-26 00:26:33
【问题描述】:
我在继承 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
【问题讨论】:
-
我试过这段代码,似乎工作正常。按钮和选项卡项都从 App.xaml 中获取了基本样式。您还有其他具体问题吗?
-
您好 XAML 爱好者,我尝试仅将此代码放入应用程序中,而我的 TabItem 的默认样式直接包含在 App.xaml 中,但它仍然不起作用。我会把源上传给你
标签: wpf styles inheritance itemcontainerstyle