Ich habe das folgende Problem: Ich habe zwei ListBox
, mit zwei verschiedenen ItemSource
, aber beide haben die gleiche binding
für die SelectedItem
, weil ich versucht habe, eine einzelne Auswahl durchzuführen zwischen diesen beiden Listen.
Hier ist ein Bild, das das Problem besser zeigt:
Was würde ich gerne machen? Jedes Mal, wenn ich ein Element aus der ersten Liste auswähle (in rot), sollte die SelectedItem
von der zweiten Liste (in schwarz) abwählen und umgekehrt. Deshalb benutze ich für beide das gleiche binding
.
Ich weiß wirklich nicht, ob es der bessere Weg ist, aber es sollte so funktionieren.
Könnten Sie mir helfen?
Was ich tun musste, war zunächst null
an die Eigenschaft zu übergeben und die Änderung zu melden, und dann übergab ich den tatsächlichen Wert an die Eigenschaft und benachrichtigte die Änderung der Ansicht.
So:
Ich habe diese Antwort und ein Beispiel aus diese Frage .
Versuchen Sie stattdessen SelectedValue
zu verwenden, dies wird das Verhalten, das Sie sehen, verringern
Es scheint, dass SelectedItem
nicht abwählen, wenn das ausgewählte Element nicht in der Liste gefunden wird, aber SelectedValue
scheint es abzuwählen, nicht sicher, warum
Sie können den Unterschied in dieser Beispielanwendung sehen:
xaml:
%Vor%code:
%Vor%
Tags und Links wpf c# mvvm visual-studio-2010 listbox