gpt4 book ai didi

c# - 覆盖样式的特定属性

转载 作者:太空宇宙 更新时间:2023-11-03 12:56:32 24 4
gpt4 key购买 nike

我正在为 TabControl 创建一个新样式,包括为项目创建一个新的 ItemContainerStyle。新样式工作正常,除了我需要在使用样式时向 ItemContainerStyle 添加功能的可能性。详细来说这是 Header 属性

  <TabControl x:Name="myTabControl" SelectionChanged="myTabControl_SelectionChanged">
<TabControl.ItemContainerStyle>
<Style TargetType="TabItem">
<Setter Property="Header" Value="{Binding Title}"></Setter>
</Style>
</TabControl.ItemContainerStyle>
</TabControl>

效果不错。但它完全覆盖了样式。 BasedOn 属性会有所帮助,但我无权访问 ItemContainerStyle 的键,因为它嵌入在 TabControls 的样式中。如何在不完全覆盖样式的情况下简单地更新样式的属性?

谢谢

最佳答案

与 css 相比,WPF 中的样式方式略有不同。在 Wpf 中,它们完全依赖于继承,this is the basic document on how styles work .因此,如果没有为您提供 key ,我认为您在使用 BasedOn 继承时运气不好。

但是,Microsoft 确实在 Visual Studio Blend 中提供了一个有用的实用程序。在对象和时间轴窗口中,右键单击然后选择“编辑样式”,这将为您完成所有繁重的工作。如果您要对样式做很多小改动,我建议您复制一份,并给它一个键,然后使用 BasedOn 属性进行您想要的小改动。

希望对您有所帮助。

关于c# - 覆盖样式的特定属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33649576/

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