6

我在 WPF 中有一个树视图。当我选择树视图项时,我想要不同的颜色。

4

2 回答 2

9

TreeView.ItemContainerStyle中的简单触发器无法为默认的 TreeView 模板提供帮助。

对于标准模板突出显示是通过特定的背景更改完成的TreeView 模板内的元素。如果不更改 TreeView 模板,程序员将无法访问此特定元素。默认资源用于设置此元素的背景以突出显示。

所以有几种方法:

  1. 简单(但可能产生副作用):使用TreeView 或ItemsPanel模板的键{x:Static SystemColors.HighlightBrushKey}重新定义资源;
  2. 重新定义 TreeView 的完整模板。
于 2010-11-16T16:17:56.203 回答
-1

试试下面的代码。它应该工作。

<Style TargetType="{x:Type TreeViewItem}">
    <Style.Triggers>
        <Trigger Property="IsSelected" Value="True">
            <Setter Property="Background" Value="Yellow"/>
        </Trigger>
    </Style.Triggers>
</Style>
于 2010-03-19T05:25:01.273 回答