Двустороннее связывание данных Winforms не будет обновлять пользовательский интерфейс должным образом, если не будут выполнены некоторые другие операции пользовательского интерфейса. - PullRequest
0 голосов
/ 14 мая 2019

Я отлаживаю старую winform, которая использует двустороннюю привязку данных в VS2017.

Что касается двусторонней привязки, я использовал следующий код:

var bs = new BindingSource(components) {DataSource = model};                    
_destinationComboBox.DataSource = model.GetDestination();
            _destinationComboBox.DataBindings.Add(new Binding("SelectedItem",
                                                              bs.DataSource,
                                                              "Destination", true,
                                                              DataSourceUpdateMode.OnPropertyChanged));

Модель правильно реализована INotifyPropertyChanged. Все хорошо, но графический интерфейс обновляется только после изменения свойств, когда я, например, переключаю вкладки или нажимаю некоторые кнопки (выполняю некоторые другие операции пользовательского интерфейса).

1 Ответ

1 голос
/ 14 мая 2019

Проблема очень запутанная и ее трудно отладить.

Я наконец узнал, что отладчик VS2017 (по крайней мере, под 15.9.11) как-то связан с этим. После отладки отладчик обновляет графический интерфейс при изменении свойств, как и ожидалось.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...