Frage

Mit WPF habe ich ein TreeView-Steuerelement, dessen ItemTemplate ich dynamisch über prozeduralen Code festlegen möchte.Wie mache ich das?Ich gehe davon aus, dass ich die Ressource irgendwo finden muss.

myTreeViewControl.ItemTemplate =   ??
War es hilfreich?

Lösung

Wenn die Vorlage direkt in Ihrem Abschnitt <Window.Resources> definiert ist:

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

Wenn es sich irgendwo tief in Ihrem Fenster befindet, etwa in einem Abschnitt <Grid.Resources> oder so, wird das meiner Meinung nach funktionieren:

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

Und wenn es an anderer Stelle in Ihrer Bewerbung steht, ich denken App.FindResource("SomeTemplate") wird funktionieren.

Andere Tipps

Wenn Ihr Treeview-Steuerelement unterschiedliche Vorlagen für Ihre Elemente erfordert, sollten Sie die DataTemplateSelector-Klasse implementieren und deren Instanz auf Ihre Baumansicht festlegen.Soweit ich mich erinnere, gibt es eine Eigenschaft von DataTemplateSelector.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top