Как динамически установить ItemTemplate в WPF? - PullRequest
9 голосов
/ 28 августа 2008

Используя WPF, у меня есть элемент управления TreeView, который я хочу динамически устанавливать своим ItemTemplate посредством процедурного кода. Как мне это сделать? Я предполагаю, что мне нужно где-то найти ресурс.

myTreeViewControl.ItemTemplate =   ??

Ответы [ 2 ]

12 голосов
/ 28 августа 2008

Если шаблон определен непосредственно в вашем разделе :

myTreeViewControl.ItemTemplate = this.Resources["SomeTemplate"] as DataTemplate;

Если это где-то глубоко в вашем окне, например, в разделе или что-то в этом роде, я думаю, что это сработает:

myTreeViewControl.ItemTemplate = this.FindResource("SomeTemplate") as DataTemplate;

И если это где-то в вашем приложении, я думаю App.FindResource ("SomeTemplate") будет работать.

2 голосов
/ 16 сентября 2008

если вашему элементу управления древовидной структуры требуются различные шаблоны для ваших элементов, вы должны реализовать класс DataTemplateSelector и установить его экземпляр в виде дерева. насколько я помню, есть свойство DataTemplateSelector.

...