gpt4 book ai didi

WPF : How to inherit from a base(or default) style in an ItemContainerStyle

转载 作者:行者123 更新时间:2023-12-04 19:11:42 27 4
gpt4 key购买 nike

我在从 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

最佳答案

我猜 TabItemStyle 和 ItemContainerStyle 是两个不同的东西
ItemContainerStyle 应用于为每个项目生成的容器元素。
而您正在尝试在 ItemContainerStyle 中设置 TabItemStyle。

关于WPF : How to inherit from a base(or default) style in an ItemContainerStyle,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16835997/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com