Verständnisfrage zum Objekt Vergleich
-
Hallo Leute ...
Folgendes verstehe ich nicht wirklich: Warum Selektiert die Combobox hierbei den richtigen Wert ...
FileInfo debug = KatalogComboBox.SelectedItem as FileInfo; foreach (FileInfo item in KatalogComboBox.ItemsSource) { if (item.FullName == debug.FullName) { KatalogComboBox.SelectedItem = item; return; } }
aber hier nicht ...
FileInfo debug = KatalogComboBox.SelectedItem as FileInfo; //KatalogCombo ItemSource (ObservableCollection<FileInfo>) neu einlesen KatalogComboBox.SelectedItem = debug;
Würde mir jemand den Grund dafür nennen ?
-
shaun1981 schrieb:
FileInfo debug = KatalogComboBox.SelectedItem as FileInfo; //KatalogCombo ItemSource (ObservableCollection<FileInfo>) neu einlesen KatalogComboBox.SelectedItem = debug;
Würde mir jemand den Grund dafür nennen ?
Ja. Das liegt daran, dass die ComboBox kein SelectedIndex/SelectedValue-Changed Event auslöst, wenn man das momentan ausgewählte Element erneut zuweist. Schließlich hat sich der Index auch nicht geändert
-
Hm ... wieder was gelernt.
Also komme ich nicht drum herum die ComboBox mit dem ersten Codeschnipsel zu erweitern ?!
-
shaun1981 schrieb:
Hm ... wieder was gelernt.
Also komme ich nicht drum herum die ComboBox mit dem ersten Codeschnipsel zu erweitern ?!
Wie wär's damit: Inhalt der SelectedIndex_Changed-Methode auslagern in neue Methode "DisplayItem". Und dann diese Methode aufrufen, wenn du die Darstellung aktualisieren willst?