如何编写与此XAML代码对应的C#等效代码,用于自定义选定的treeviewItem颜色

时间:2012-02-17 06:23:21

标签: c# .net wpf xaml treeview

<TreeView.Resources>
    <SolidColorBrush Color="Transparent" x:Key="{x:Static SystemColors.HighlightBrushKey}"/>
 </TreeView.Resources>

实际上,我在WPF应用程序中有一个TreeView,因为它包含各种TreeViewItem,当我将树视图项拖到DataGrid时,TreeViemItem变灰。

由于我没有使用XAML来创建树视图,所以我使用了C#代码,因此我只想使用C#代码修复它。

TreeView treeNode = new TreeView();

//In some loop
TreeViewItem childTreeNode = new TreeViewItem();
childTreeNode.Header = "Item 1";
childTreeNode.ToolTip = "File Path";

childTreeNode.Foreground = Brushes.Black;
childTreeNode.Background = Brushes.White;

treeNode.Items.Add(childTreeNode);
//End Loop

现在很少有TreeView项被添加到这个TreeView中。 树看起来很好但是一旦从树中移除了焦点,它就会选择treeviewitem变灰了

也请参阅此问题 How to Write Triggers and Setters for a TreeView through C# rather than XAML

1 个答案:

答案 0 :(得分:2)

你可以这样做。

var colorBrush = new SolidColorBrush(Colors.Transparent);
treeNode.Resources.Add(SystemColors.HighlightBrushKey, colorBrush);