Domanda

Utilizzando WPF, ho un controllo TreeView di cui desidero impostare il relativo ItemTemplate in modo dinamico tramite codice procedurale.Come faccio a fare questo?Presumo di dover trovare la risorsa da qualche parte.

myTreeViewControl.ItemTemplate =   ??
È stato utile?

Soluzione

Se il modello è definito direttamente nella sezione <Window.Resources>:

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

Se è da qualche parte nel profondo della tua finestra, come in una sezione <Grid.Resources> o qualcosa del genere, penso che funzionerà:

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

E se è altrove nella tua domanda, I pensare App.FindResource("SomeTemplate") funzionerà.

Altri suggerimenti

se il tuo controllo di visualizzazione ad albero richiede modelli diversi per i tuoi elementi, dovresti implementare la classe DataTemplateSelector e impostare la sua istanza sulla visualizzazione ad albero.per quanto ricordo esiste una proprietà di DataTemplateSelector.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top