如何使用某种颜色突出显示树视图所选项目?

6 c# wpf treeview xaml selecteditem

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

小智 9

TreeView.ItemContainerStyle中的简单触发器对默认的TreeView模板无效.

对于标准模板,突出显示是通过特定背景更改完成的 TreeView模板中的元素.没有TreeView模板更改的程序员无法访问此特定元素.默认资源 用于在此元素上设置背景以突出显示.

所以有几种方法:

  1. 简单(但可能产生副作用):使用键{x:Static SystemColors.HighlightBrushKey}为TreeView或ItemsPanel模板重新定义资源;
  2. 重新定义TreeView的完整模板.


小智 -1

尝试以下代码。它应该有效。

<Style TargetType="{x:Type TreeViewItem}">
    <Style.Triggers>
        <Trigger Property="IsSelected" Value="True">
            <Setter Property="Background" Value="Yellow"/>
        </Trigger>
    </Style.Triggers>
</Style>
Run Code Online (Sandbox Code Playgroud)