Pregunta

Usando WPF, tengo un control TreeView y quiero configurar 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.

myTreeViewControl.ItemTemplate =   ??
¿Fue útil?

Solución

Si la plantilla está definida directamente en su sección <Window.Resources>:

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

Si está en algún lugar profundo de tu ventana, como en una sección <Grid.Resources> o algo así, creo que esto funcionará:

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

Y si está en otra parte de su solicitud, yo pensar App.FindResource("SomeTemplate") funcionará.

Otros consejos

Si su control de vista de árbol requiere plantillas diferentes para sus elementos, debe implementar la clase DataTemplateSelector y configurar su instancia en su vista de árbol.Hasta donde recuerdo, hay una propiedad de DataTemplateSelector.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top