9 Stimmen

Wie kann ich ItemTemplate dynamisch in WPF festlegen?

Mit WPF, ich habe ein TreeView-Steuerelement, das ich seine ItemTemplate dynamisch durch prozeduralen Code festlegen möchten. Wie kann ich dies tun? Ich nehme an, ich muss die Ressource irgendwo zu finden.

myTreeViewControl.ItemTemplate =   ??

12voto

Matt Hamilton Punkte 193704

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

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

Wenn es sich irgendwo tief im Fenster befindet, z. B. in einem <Grid.Resources>-Abschnitt oder so, wird es wohl 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.

2voto

Greg Punkte 555

Wenn Ihr Treeview-Steuerelement verschiedene Vorlagen für Ihre Elemente erfordert, sollten Sie DataTemplateSelector Klasse implementieren und es ist Instanz zu Ihrer Baumansicht festgelegt. soweit ich mich erinnere gibt es eine Eigenschaft von DataTemplateSelector.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X