2008-08-27 16 views
8

Usando WPF, tengo un control TreeView que quiero establecer su ItemTemplate dinámicamente a través de código de procedimiento. ¿Cómo hago esto? Supongo que necesito encontrar el recurso en alguna parte.¿Cómo configuro ItemTemplate dinámicamente en WPF?

myTreeViewControl.ItemTemplate = ?? 

Respuesta

11

Si la plantilla se define en sus <Window.Resources> sección directa:

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

Si se trata de algún lugar profundo dentro de su ventana, como en un <Grid.Resources> sección o algo así, Creo que esto funcionará:

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

Y si está en otra parte de su aplicación, I piensa que App.FindResource ("SomeTemplate") funcionará.

2

si su control treeview requiere plantillas diferentes para sus elementos, debe implementar la clase DataTemplateSelector y establecer su instancia para su vista de árbol. por lo que recuerdo, hay una propiedad de DataTemplateSelector.

Cuestiones relacionadas