Der folgende Code funktioniert wie erwartet - MyProperty
auf dem Modell wird aktualisiert, wenn der Benutzer ein neues Element im Dropdown auswählt.ComboBox SelectedItem vs SelectedValue
comboBox1.DataBindings.Add("SelectedValue", myModel, "MyProperty", true,
DataSourceUpdateMode.OnPropertyChanged);
Die folgenden, funktioniert jedoch nicht die gleiche Art und Weise und das Modell-Update wird erst in den Eingabefokus bewegt sich zu einem anderen Steuerelement auf dem Formular ausgelöst:
comboBox1.DataBindings.Add("SelectedItem", myModel, "MyProperty", true,
DataSourceUpdateMode.OnPropertyChanged);
Weiß jemand, warum ? Ich weiß nicht einmal, wo ich anfangen soll, die Ursache zu untersuchen. Zeiger in die richtige Richtung, um die Untersuchung zu beginnen oder eine direkte Erklärung würden gleichermaßen geschätzt werden.
Beiseite: für meine Zwecke endete ich Bindung an beide SelectedItem
und SelectedValue
. Auf diese Weise erhalte ich sofortige Modellaktualisierungen basierend auf UI-Änderungen (über die SelectedValue
-Bindung) und UI-Aktualisierungen basierend auf programmatischen Modelländerungen (über die SelectedItem
Bindung).
ich am Ende zwei Bindungen einrichten - ein bis SelectedValue und ein bis SelectedItem und didn‘ Ich brauche darüber hinaus einen benutzerdefinierten Code. :) –
@Anna Froh zu hören, dass Sie es funktioniert :) –