WPF-有选择他们的父母树型视图当您成为选择和激活的方式来阻止TreeViewItems?
-
26-09-2019 - |
题
我有TreeViewItems
和而不是显示正常FocusVisualStyle
我有一个MultiTrigger
建立这样一个控制模板:
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="IsSelected" Value="true"/>
<Condition Property="IsSelectionActive" Value="true"/>
</MultiTrigger.Conditions>
<Setter Property="FontWeight" Value="Bold"/>
</MultiTrigger>
然而,这也导致FontWeight
当选择了TreeViewItem's
父项改变为粗体。有没有什么办法可以阻止这种情况的发生?
解决方案
大问题。它具有与依赖属性值优先以做。
这是发生,因为这样他们是从他们的视觉父继承它的子树视图项目不以任何方式覆盖fontWeight设置属性。你可以做的是增加一个正常触发的时候IsSelected是假的。
<Trigger Property="IsSelected" Value="false">
<Setter Property="FontWeight" Value="Normal" />
</Trigger>
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="IsSelected" Value="true"/>
<Condition Property="IsSelectionActive" Value="true"/>
</MultiTrigger.Conditions>
<Setter Property="FontWeight" Value="Bold"/>
</MultiTrigger>
现在孩子的TreeViewItem将具有由一个触发器,它会从它的选择的父覆盖继承属性其fontWeight设置属性集。
不隶属于 StackOverflow