Это сработало для меня! Мне нужно было, чтобы выбранный элемент дерева был жирным, но не его дочерние элементы, и нацеливаясь на заголовок, он работал. Дети выбранного узла не были выделены жирным шрифтом.
лал древовидное представление и добавил к нему родительские и дочерние узлы, используя код позади, теперь я застрял в том, чтобы установить шрифт родительских узлов вBOLD
сохраняя шрифт child как есть, ниже приведен код, который у меня есть сейчас.
List<ParentTreeViewNode> ParentTreeViewNodeList = new List<ParentTreeViewNode>();
HierarchicalDataTemplate treeViewTemplate = new HierarchicalDataTemplate(typeof(Child));
treeViewTemplate.DataType = "{x:Type local:Child}";
treeViewTemplate.ItemsSource = new Binding("Children");
FrameworkElementFactory tb = new FrameworkElementFactory(typeof(TextBlock));
tb.SetBinding(TextBlock.TextProperty, new Binding("Name"));
tb.SetValue(TextBlock.ForegroundProperty, Brushes.Yellow);
treeViewTemplate.VisualTree = tb;
DataTemplate parentTemplate = new DataTemplate(typeof(ParentTreeViewNode));
parentTemplate.DataType = "{x:Type local:ParentTreeViewNode}";
//parentTemplate.ItemsSource = new Binding("Children");
FrameworkElementFactory tbp = new FrameworkElementFactory(typeof(TextBlock));
tbp.SetBinding(TextBlock.TextProperty, new Binding("Name"));
tbp.SetValue(TextBlock.ForegroundProperty, Brushes.Green);
treeViewTemplate.VisualTree = tbp;
// ParentTreeViewNode1.Children = Childlist1;
ParentTreeViewNodeList.Add(new ParentTreeViewNode("Paren1"));
ParentTreeViewNodeList.Add(new ParentTreeViewNode("Paren2"));
ParentTreeViewNodeList.Add(new ParentTreeViewNode("Paren3"));
//arrayTreeView.ItemTemplate = treeViewTemplate;
arrayTreeView.Resources.Add(1,treeViewTemplate);
arrayTreeView.Resources.Add(2,treeViewTemplate);
arrayTreeView.ItemsSource = ParentTreeViewNodeList;
это ссылка, по которой я обратился за помощью:http://zamjad.wordpress.com/2009/12/06/using-hierarchical-data-template-with-c-code/#comment-446
Спасибо