拥有这样的风格

<Style TargetType="TreeViewItem">
  <Style.Triggers>
    <Trigger Property="IsExpanded" Value="True">
      <Setter Property="Header" Value="Pink"></Setter>
    </Trigger>
  </Style.Triggers>
</Style>

我希望展开的 TreeViewItems 的文本为“粉红色”,但实际上没有设置。如果我改为 Property=“Background”,它就会起作用。如何 标头 不同于 背景?

有帮助吗?

解决方案

我想我需要更多的信息,以更全面地回答这个问题。但是,如果我猜的话,我会说你可能设置在树型视图Header属性明确的是这样的:

<TreeView>
    <TreeViewItem
        Header="Blue"/>
</TreeView>

和,在这种情况下,设置它明确将覆盖任何东西,你把风格。

其他提示

详细说明ascalonx的答案:

复制自 约什·史密斯的 博客:

WPF内部使用了一组明确定义的规则,以弄清DP的实际值是什么。这是解决DP值(从最高优先级到最低的)时使用的优​​先规则的简要摘要:

  1. 财产制度强制
  2. 主动动画或具有保持行为的动画
  3. 本地价值
  4. 模板化父模板
  5. 风格触发因素
  6. 模板触发器
  7. 风格设定者
  8. 主题风格
  9. 遗产
  10. 依赖属性元数据的默认值

因此,如果您显式设置 Header 属性(或者我认为您绑定了它),就会遇到这个问题。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top