Как мне динамически установить ItemTemplate в WPF?

StackOverflow https://stackoverflow.com/questions/31249

  •  09-06-2019
  •  | 
  •  

Вопрос

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

myTreeViewControl.ItemTemplate =   ??
Это было полезно?

Решение

Если шаблон, определенных в <Window.Resources> раздел:

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

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

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

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

Другие советы

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top