使用 WPF,我有一个 TreeView 控件,我想通过程序代码动态设置它的 ItemTemplate。我该怎么做呢?我想我需要在某个地方找到资源。
myTreeViewControl.ItemTemplate = ??
使用 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") 会起作用。
如果您的树视图控件需要不同的项目模板,您应该实现 DataTemplateSelector 类并将它的实例设置为您的树视图。据我记得有一个 DataTemplateSelector 的属性。