有这样的风格
<Style TargetType="TreeViewItem">
<Style.Triggers>
<Trigger Property="IsExpanded" Value="True">
<Setter Property="Header" Value="Pink"></Setter>
</Trigger>
</Style.Triggers>
</Style>
我希望扩展的TreeViewItems的文本是“粉红色”,但实际上没有设置。如果我改为Property =“Background”,它会起作用。 标题与背景的不同之处?
答案 0 :(得分:3)
我想我需要更多信息来更全面地回答这个问题。但是,如果我不得不猜测,我会说你可能会像这样明确地在TreeViewItem上设置Header属性:
<TreeView>
<TreeViewItem
Header="Blue"/>
</TreeView>
并且,在这种情况下,明确地设置它将覆盖您在样式中放置的任何内容。
答案 1 :(得分:1)
详细说明ascalonx的回答:
从Josh Smith's博客复制:
有一套明确定义的规则 它由WPF内部使用 弄清楚DP的真正价值 是。这是一个简短的摘要 当使用时的优先权规则 解决DP的价值(来自 从最高到最低优先级):
- 物业系统强制
- 动态动画或动画 保持行为
- 本地值
- TemplatedParent模板
- 样式触发器
- 模板触发器
- 样式制定者
- 主题风格
- 继承
- 依赖项的默认值 属性元数据
醇>
因此,如果你明确设置了Header属性,(或者如果你认为你绑定了它),你就会遇到这个问题。