Следующий код работает как ожидается youd - MyProperty
в модели обновляется, когда пользователь выбирает новый элемент в раскрывающемся списке.
comboBox1.DataBindings.Add("SelectedValue", myModel, "MyProperty", true,
DataSourceUpdateMode.OnPropertyChanged);
Однако, это не работает так же, и обновление модели не запускается до тех пор, пока фокус ввода не перейдет к другому элементу управления в форме:
comboBox1.DataBindings.Add("SelectedItem", myModel, "MyProperty", true,
DataSourceUpdateMode.OnPropertyChanged);
Кто-нибудь знает, почему? Я даже не знаю, с чего начать расследование. Указатели в правильном направлении для начала расследования или прямого объяснения будут одинаково оценены.
Кроме того: в моих целях я оказался привязан к SelectedItem
и SelectedValue
. Таким образом, я получаю мгновенные обновления моделей на основе изменений пользовательского интерфейса (через привязку SelectedValue
) и обновлений пользовательского интерфейса на основе изменения программной модели (через привязку SelectedItem
).