Silverlight 4 - DataFrom CancelEdit не работает в текстовом поле с фокусом - PullRequest
2 голосов
/ 18 ноября 2010

У меня есть форма данных Silverlight, привязанная к модели. Все работает нормально, кроме случаев, когда я редактирую значение в текстовом поле, не выкладываю вкладку и не нажимаю на другой элемент управления, а затем нажимаю кнопку отмены.

Событие отмены срабатывает должным образом, все свойства возвращаются, кроме одного, привязанного к текстовому полю, удерживающему фокус. Значение этого текстового поля будет передано модели.

Предположим, у меня есть текстовое поле с исходным значением 100. Я изменяю его на 101, оставляю курсор в текстовом поле и затем нажимаю Отмена. Я ожидаю, что значение изменится обратно на 100, как и при переходе к другому текстовому полю перед нажатием кнопки «Отмена», но оно остается на уровне 101.

Как заставить форму данных сбросить значение текущего текстового поля в событии Отмена?

1 Ответ

0 голосов
/ 18 ноября 2010

В вашей модели внедрите IEditableObject В MSDN есть пример .Все сводится к обработке IEditableObject.CancelEdit(), которая будет вызываться через DataForm при нажатии кнопки «Отмена».Затем вы просто возвращаете данные своих моделей к тому, что вы хотите в этот момент.

...