2010-12-30 15 views
1

Ich habe ein Usercontrol, die eine List-Box (lstClients) und eine ComboBoxSilverlight Listbox wählbar ItemTemplate

Die List-Box hat 2 Datatemplates Setup als Ressourcen genannt „LowDetailTemplate“ und „HighDetailTemplate“

ich in der Lage sein müssen, enthält um zwischen den 2 DataTemplates zu wechseln, wenn ich den Wert in einer ComboBox von "Low" auf "High" ändere und umgekehrt. Im SelectionChanged-Ereignis der ComboBox vermute ich, dass ich das ItemTemplate der ListBox ändern muss, aber ich kämpfe mit dem Code, um das DataTemplate in Code hinter zu setzen. Mein letzter Versuch wird unten angezeigt, schlägt aber zur Laufzeit fehl.

lstClients.ItemTemplate = (DataTemplate)this.Resources["LowDetailTemplate"]; 

Antwort

0

Es wäre einfacher, beide des Blicks in der gleichen Datenvorlage zu definieren und dann Schalter, der durch die Verwendung eines einfachen variable sichtbar ist. Dann würde die Änderung in einem Kombinationsfeld nur diese einfache Variable aktualisieren und dazu führen, dass sich die für jede Vorlageninstanz angezeigte Ansicht ändert.

+0

Danke für den Vorschlag Phil, vielleicht komme ich aus der falschen Richtung. Es schien eine offensichtliche Verwendung von DataTemplates zu sein, um sie wechseln zu können. Ich nehme an, das ist nicht der Fall. Ich habe versucht, auch den VisualStateManager zu verwenden, aber es scheint nicht gut mit DataTemplates zu spielen. – Mitch

Verwandte Themen