Как написать эквивалентный код C #, соответствующий этому XAML-коду для настройки выбранного цвета treeviewItem - PullRequest
0 голосов
/ 17 февраля 2012
<TreeView.Resources>
    <SolidColorBrush Color="Transparent" x:Key="{x:Static SystemColors.HighlightBrushKey}"/>
 </TreeView.Resources>

На самом деле у меня есть TreeView в приложении WPF, так как он содержит различные TreeViewItems, когда я перетаскиваю TreeView Item в 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. Дерево выглядит хорошо, но после удаления фокуса с дерева выделенное дерево становится серым

См. Также этот вопрос Как написать триггеры и установщики для TreeView через C #, а не XAML

1 Ответ

2 голосов
/ 17 февраля 2012

Вы можете сделать что-то вроде этого.

var colorBrush = new SolidColorBrush(Colors.Transparent);
treeNode.Resources.Add(SystemColors.HighlightBrushKey, colorBrush);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...