如何在WPF中动态设置ItemTemplate?

时间:2008-08-27 20:48:18

标签: wpf itemtemplate

使用WPF,我有一个TreeView控件,我想通过过程代码动态设置它的ItemTemplate。我该怎么做呢?我想我需要在某处找到资源。

myTreeViewControl.ItemTemplate =   ??

2 个答案:

答案 0 :(得分:12)

如果模板是在< Window.Resources>中定义的。直接部分:

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

如果它位于窗口深处,就像在< Grid.Resources>中一样。部分或其他什么,我认为这会起作用:

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

如果它在您的应用程序的其他位置,我认为 App.FindResource(“SomeTemplate”)将起作用。

答案 1 :(得分:2)

如果您的treeview控件需要不同的项目模板,则应实现DataTemplateSelector类并将其实例设置为树视图。据我所知,有一个DataTemplateSelector的属性。