Ich versuche, Xceed CheckComboBox zu verwenden, und es funktioniert gut, außer für ein kleines Problem. Wenn die CheckComboBox anfänglich geladen wird, wird die ausgewählte Liste im ToggleButton-Teil der CheckComboBox korrekt angezeigt, aber die Kontrollkästchen, die diese Elemente darstellen, werden nicht überprüft. Hier ist der Code, den ich verwende
XAML
%Vor%Modell anzeigen
%Vor%Ich würde gerne wissen, warum, wenn SelectedFacilities im Ansichtsmodell richtig eingestellt sind, die Kontrollkästchen der CheckComboBox nicht entsprechend den Elementen in den SelectedFacilities überprüft werden. Der interessante Teil ist, dass der Toggle Button-Teil der CheckComboBox SelectedFacilities in einer durch Kommas getrennten Liste anzeigt.
Es ist nicht klar, wie Sie SelectedFacilities
und RoomFacilities
füllen. Stellen Sie sicher, dass Sie die Referenzgleichheit von RoomFacility
korrekt gehandhabt haben. Mit anderen Worten, die einzige Möglichkeit, das Problem nur zu reproduzieren, ist, wenn ich die ObservableCollection
s im folgenden Muster fülle:
Beachten Sie, dass obwohl m4
und m5
ähnliche FacilityName
haben (die in ToggleButton
von CheckComboBox
angezeigt werden, werden sie nicht im Dropdown-Feld ausgewählt, außer Sie überschreiben Equals
Methode:
Mit anderen Worten, CheckComboBox
löst keine Ausnahme aus, wenn SelectedItemsOverride
KEINE Untermenge von ItemsSource
Wenn Sie die Auflistung im Konstruktor Ihrer Klasse instanziieren, ist die Eigenschaft noch nicht an Ihre Komponente gebunden, sodass das PropertyChanged-Ereignis Ihres ViewModel nicht von Ihrer Komponente ausgelöst wird.
Die beobachtbare Add () - Methode hat das PropertyChanged-Ereignis nicht ausgelöst, sondern das CollectionChanged-Ereignis ausgelöst.
Hoffe, das hilft dir
Tags und Links wpf xceed wpf-extended-toolkit