Laden...

WPF Binding - SelectedItem und ItemSource

Erstellt von SuRTaiNx3 vor 9 Jahren Letzter Beitrag vor 9 Jahren 958 Views
S
SuRTaiNx3 Themenstarter:in
2 Beiträge seit 2014
vor 9 Jahren
WPF Binding - SelectedItem und ItemSource

Hallo,

ich denke ich habe ein Problem mit Binding. Ich verwende WPF und meine Anwendung ist nach MVVM aufgebaut.

Nehmen wir an ich habe ein Objekt "Person" mit einer Eigenschaft "Abteilung". Die Abteilungen sind in einer Liste abgebildet.
In meiner View möchte ich jetzt die Person bearbeiten. Dazu habe ich unter anderem eine ComboBox, welche an die Liste der Abteilungen gebunden ist. Dort soll die derzeit, bei der Person hinterlegte Abteilung ausgewählt sein. Das hab ich auch gemacht, indem ich SelectedItem auf die Abteilung-Eigenschaft der Person gebunden habe.

Speichern tue ich das ganze per XML-Serialisierung und ich befürchte, genau da liegt das Problem. Wenn ich die Liste der Abteilungen über die ItemSource an die ComboBox binde und das SelectedItem auf die Abteilung der Person, dann ist kein Item ausgewählt. Ich vermute mal, dass die Abteilung, die bei der Person hinterlegt ist, auf eine Instanz in der Liste zeigen muss, damit das funktioniert.

Wie bekomme ich jetzt das richtige Item angezeigt?

Danke!

2.207 Beiträge seit 2011
vor 9 Jahren

Hallo SuRTaiNx3,

ich weiss nicht, ob ich dich richtig verstanden habe. Aber nach dem Speichern solltest du immernoch eine Person ausgewählt haben. Diese hat ja eine Abteilung (oder mehrere). Und dann sollte dein Binding auf die Liste der Abteilungen auch funktionieren. Auch bei einem SelectedItem.

Also: Nach dem Speichern: Setzt du irgendwo deine Person zurück?

Gruss

Coffeebean

P
660 Beiträge seit 2008
vor 9 Jahren

Hallo,

also ich habe folgendes verstanden:
Du hast eine Klasse Person, diese Person kann nur einer Abteilung zugeordnet sein.
Die Abteilungen befinden sich in einer Liste und ist an eine ComboBox gebunden.
Das SelectedItem der ComboBox ist an die Property der Personen-Klasse gebunden.
Soweit richtig?

Dein Problem ist nun, dass die Auswahl bzw. das was ausgewählt worden ist nicht Serialisiert wird?
Wenn Ja, wird es denn überhaupt deserialisiert? also ist der Wert in der XML vorhanden?

Wenn Nein, Ignoriere diesen Beitrag.

MfG
ProGamer*Der Sinn Des Lebens Ist Es, Den Sinn Des Lebens Zu Finden! *"Wenn Unrecht zu Recht wird dann wird Widerstand zur Pflicht." *"Ignorance simplifies ANY problem." *"Stoppt die Piraterie der Musikindustrie"

S
SuRTaiNx3 Themenstarter:in
2 Beiträge seit 2014
vor 9 Jahren

Was heißt ausgewählt... Ich beende die Anwendung und hab dann eine XML mit einer Liste von Abteilungen und Personen. Eine Person hat (fürs Beispiel) eine Abteilung, die eigentlich eine Instanz aus der Liste ist. Meine Vermutung ist aber, dass ich beim starten der Anwendung und anschließendem Deserialisieren, zwar eine Person mit ihrer Abteilung habe und genau die gleiche Abteilung auch in der Liste vorkommt (gleiche Eigenschaften), aber die beiden "gleichen" Abteilungen sind in dem Moment zwei verschiedene Instanzen. Dadurch kann die Bindung zur richtigen Abteilung in der Liste nicht stattfinden.

Hoffe das ist verständlich 🙁