2010-05-13 3 views
1

У меня есть дочернее окно с несколькими текстовыми полями, Comboboxes и DatePickers. Я хочу знать, изменил ли пользователь какое-либо значение в них (знать, нужно ли мне сохранять в db)Обнаруживать изменения элементов управления пользователя в Silverlight?

Один из способов, которым я мог бы это сделать, - это обработчики событий on on chg и set bool. Но если пользователь изменяет значение, скажем, в поле со списком, то возвращается к оригиналу, это все равно будет рассматриваться как изменение.

Есть ли другие альтернативы?

(обратите внимание, что проект не создан как MVVM)

ответ

0

Если вы не используете MVVM, но по-прежнему связывается с объектом, то:

  • перед окно показано создать копию объект, сохранить его, и привязать его к DataContext
  • всякий раз, когда вам нужно знать, если пользователь сделал какие-либо изменения, которые вы можете сравнить сохраненный объект DataContext (недвижимость свойства)

I у НУ не обвязка совсем то:

  • перед окном показано сохранить все поля, которые могут быть изменены в словарь
  • всякий раз, когда вам нужно знать, если пользователь сделал какие-либо изменения, вы можете сравнить словарные значения к значениям полей