我有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设置属性集。

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