Hallo!
Wenn Du bei der Combobox ein TwoWay-Binding auf SelectedItem (nicht SelectedValue, das funktioniert nicht) machst, brauchst Du das Ereignis schonmal nicht mehr.
XML-Daten
1: 2: 3: 4: 5: 6:
| <ComboBox x:Name="ComboBoxKunde" ItemsSource="{Binding Kunden}" DisplayMemberPath="Firstname" SelectedItem="{Binding CurrentPerson,Mode=TwoWay}" IsSynchronizedWithCurrentItem="True" Height="36" VerticalAlignment="Top" /> |
Dann musst Du nur noch INotifyPropertyChanged implementieren und das entsprechende Ereignis "feuern", wenn CurrentPerson geändert wird:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18:
| private Kunde currentPerson; public Kunde CurrentPerson { get { return currentPerson; } set { if (currentPerson != value) { currentPerson = value; var tmp = PropertyChanged; if (tmp != null) tmp.Invoke(this, new PropertyChangedEventArgs("CurrentPerson")); } } } |
Dann bekommen auch alle Komponenten das mit und können drauf reagieren.
Grüße
Christian
//Edit: Das mit dem Ereignis stimmt wahrscheinlich nicht, weil Du in SetCurrentPerson ja mehr tust, als nur auszuwählen ...
//Edit2: Andererseits kannst Du das dann im Setter erledigen, es dürfte als doch stimmen

Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".