Ссылка:
C # привязка данных в выпадающем списке
У меня похожая ситуация. У меня есть форма с несколькими текстовыми полями, поля со списком, флажки. Первоначально я использую, чтобы перехватить «измененное» событие (например, text_changed, selected_index_changed и т. Д.) И синхронизировать данные пользовательского интерфейса с объектом поддержки. Я узнал о привязке данных и привязал все элементы пользовательского интерфейса к своему объекту поддержки.
Проблема:
Основываясь на состоянии моего пользовательского интерфейса, я включал и отключал кнопку «Отправить», которая использует объект поддержки для сохранения содержимого. Но теперь, благодаря DataBinding, свойство объекта поддержки не изменяется, если только связанный с ним элемент управления не теряет фокус.
Вопрос
Есть ли стандартный способ решения этой проблемы? Или мне все еще нужно перехватить «измененное» событие и установить значение объекта поддержки?
Также, чтобы сделать форму отказоустойчивой, я использую для сохранения объекта поддержки каждые N секунд. Но с DataBinding (учитывая, что элемент управления, который находится в фокусе, еще не установил свое значение для объекта поддержки), я буду сохранять неверные данные.
Что я пробовал
Evey N секунд вызывает this.validate () -> это не работает, поскольку фактически заполняет старые данные в элементе управления в фокусе.
----- ПРИМЕЧАНИЕ ------
Объект поддержки реализует интерфейс INotifyPropertyChanged.
и вот как я связываюсь (не в дизайнере), а в коде.
Binding Binding = новая Binding («проверено», решение, «InternalFlag»);
checkBoxFlag.DataBindings.Add (связывание); * 1 027 *