Ich bin ziemlich neu zu wpf und habe folgendes Problem.Verwenden Sie Checkbox als Togglebutton in Expander
Ich muss eine Liste erstellen (ich verwende eine Listbox) von Elementen, die (Expander) erweitert werden können. Das Problem ist, dass sie nur dann erweitert werden können, wenn sie 'ausgewählt' wurden. Jedes listboxitem sollte eine Checkbox und etwas Text haben.
So sehr einfaches Beispiel zu veranschaulichen, was ich meine:
<listbox>
<item>(checkbox) John Doe</item>
<item>(checkbox) Mike Murray</item>
</listbox>
Wenn eine der Kontrollkästchen im Listenfeld (so mehrere erlaubt ist) überprüft, dann das Element mehr Daten erweitert zeigt.
Wieder ein Beispiel:
<listbox>
<item>
(checkbox-checked) John Doe
Some extra data shown in expanded area
</item>
<item>
(checkbox-unchecked) Mike Murray</item>
</listbox>
Ich kann nicht einen Expander erhalten eine Checkbox als 'ToggleButton' zu verwenden.
Kann mir jemand helfen? Einige Beispiel-Code wäre sehr willkommen ...
Hallo Ian, danken mit dem Standard-Expander erfolgen Sie sehr für Ihre Antwort. Ich habe dein Beispiel funktioniert und es funktioniert auch (teilweise) in meiner Anwendung. Ich habe eine andere Frage und hoffe, Sie könnten auch damit helfen. Angesichts der Einrichtung der ursprünglichen Frage, eine Listbox mit einem Kontrollkästchen als togglebutton, ich verwende es, um eine Liste der Kunden anzuzeigen. Mein nächstes Problem ist das folgende: Einige der Kunden müssen vorausgewählt werden und ist es durch verbindung möglich?) – Shatish
Btw, ich benutze das MVVM Muster ... – Shatish
Ja, definitiv möglich. Ich gehe davon aus, dass Sie ein ItemTemplate in der Praxis verwenden und dass der Expander drin ist. (Und wenn Sie nicht sind, sollten Sie!) In Ihrem ViewModel benötigen Sie eine ViewModel-Klasse pro Objekt, sodass Ihr Hauptansichtsmodell eine Liste mit Item-Viewmodels zur Verfügung stellen kann, die als ItemSource Ihrer Liste dienen. Und binden Sie dann einfach die IsExpanded-Eigenschaft des Expanders an eine boolesche Eigenschaft des Viewmodels pro Element. –