У меня есть текстовое поле, которое привязано (привязано) к файлу данных, который обновляет пару раз в секунду. Таким образом, значение текстового поля постоянно отражает изменения в datatable. Когда я вхожу в текстовое поле, чтобы вручную установить значение, привязка заставляет значение постоянно перезаписываться. Как это остановить? Когда я ввел значение (потерянный фокус текстового поля), я хочу, чтобы текстовое поле вернулось, чтобы отобразить связанное значение, а не значение, которое я только что ввел вручную.WPF - Временная остановка привязки данных (привязка данных)
3
A
ответ
1
Вы можете прикрепить к событию ввода текста и отменить привязку, а затем повторно применить его к событию потерянного фокуса.
Я думаю, что вам нужно учитывать, почему вы отображаете свою связанную ценность в текстовом поле? Не было бы более уместным иметь Uneditable Textblock, отображающий вашу базу данных с редактируемым текстовым полем отдельно для дополнительного ввода пользователем.
Хотя то, что вы просите, выполнимо с использованием события Textbox, о котором я упоминал, похоже, что это будет путать с точки зрения пользователя.
2
У меня была такая же проблема, и я решить ее
С BindingNavigator, я поставил его обнулить
bdNavProduct.BindingSource = NULL;
С другой элемент управления текстового поля, DataGridView, я очистить DataBinding
txtProductID.DataBindings.Clear(); txtProductName.DataBindings.Clear(); txtQuantity.DataBindings.Clear(); txtUnitPrice.DataBindings.Clear(); dgvProduct.DataBindings.Clear();
Тони
Я знаю, что события мне нужно поставить код в !!!!! Я не знаю, как программно переключить привязку и снова включить. – Adam
+1 - это звучит как запутанный пользовательский интерфейс, который лучше всего фиксируется при использовании комбинированного текстового блока и текстового поля. – slugster