Die Anfangszustände ausgewählter Elemente in CheckComboBox können nicht festgelegt werden

9

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.

    
Jatin 03.04.2015, 07:48
quelle

2 Antworten

1

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:

%Vor%

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:

%Vor%

Mit anderen Worten, CheckComboBox löst keine Ausnahme aus, wenn SelectedItemsOverride KEINE Untermenge von ItemsSource

ist     
Ron 19.02.2017 07:53
quelle
0

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

    
Tom 23.05.2016 14:25
quelle

Tags und Links