Установка textBox.Text не обновляет привязанное свойство twoway? - PullRequest
2 голосов
/ 13 июля 2009

Имеет ли смысл, что если текст в TextBox привязан к свойству с помощью режима twoway, и я установил для него значение Text, оно должно обновить свойство? Мое свойство обновляется при вводе внутри элемента управления, но не при установке значения в коде.

Ответы [ 3 ]

3 голосов
/ 13 июля 2009

Я бы сказал, что нет смысла напрямую изменять привязанное свойство Text. Ваш код должен устанавливать другой конец привязки и позволять привязке обновлять элемент управления.

Если связанный объект обновляется, когда установлено свойство Text, тогда потребуется специальный код, чтобы определить, является ли такой присваиватель результатом изменения связанного объекта по другим причинам. В противном случае вы бы получили бесконечный цикл.

1 голос
/ 13 июля 2009

Вы не должны устанавливать значение .Text текстового поля ... устанавливать значение свойства, к которому оно привязано. :)

Я бы рекомендовал вам больше узнать о методе Model-View-ViewModel для проектирования ваших представлений. При выполнении такого рода работ сохраняется четкое разделение проблем. Причина, по которой вы видите эту «ошибку» в отношении фокуса, вызывающего обновление привязки, заключается в том, что в большинстве случаев подобные вещи не подходят.

Вот довольно хорошее видео введение в MVVM: MVVM на канале 9

0 голосов
/ 13 июля 2009

Это потому, что он фиксирует данные только тогда, когда текстовое поле теряет фокус. Здесь - это вопрос, который несколько связан с этим.

...