Это вопрос по интерфейсу редактирования формы для приложения WP7:
В настоящее время мои поля формы редактирования установлены на двухстороннее связывание, что означает, что, когда пользователь изменяет их, они сохраняются при редактировании и обновляют пользовательский интерфейс во ViewModel (метод 1). Поэтому мне не нужна кнопка «Сохранить», и нет кнопки «Отмена» (если только вы не программируете в логике для сохранения исходного состояния и отката при отмене).
Метод 2 будет состоять в использовании односторонней привязки и UpdateSource для кнопки сохранения, а затем у вас может быть кнопка «Отмена», которая работает как кнопка «Назад» (возвращается без сохранения).
Метод 1 хорош, так как он обрабатывает сохранение состояния, если приложение захоронено - WP7 восстановит страницу, и ваши изменения будут сохранены. Недостатком является то, что пользователь не может восстановить его в исходное состояние после внесения изменений. Моя форма тривиальна, поэтому я не думаю, что это проблема. Кнопка «Назад» действует как «Назад».
Я также делаю вычисления в свойстве сеттера в моей виртуальной машине, которые должны быть отражены в пользовательском интерфейсе (т. Е. У вас будет в поле 1, а в поле 2 - двойное значение (но они также могут переопределять его) - я использую 2-стороннее связывание в поле 1 и обновите поля 1 и 2. при редактировании. Я не могу придумать, как это сделать, используя явное обновление.
Проблема в том, что у меня есть кнопка «Удалить» для записи, поэтому, когда я использую метод 1 без кнопки «Сохранить и отменить», пользователь, скорее всего, нажмет кнопку «Удалить», так как это единственный доступный вариант (ему нужно нажать на кнопку Назад, чтобы вернуться).
Мой вопрос; должна ли простая форма иметь кнопку «Сохранить и отменить» и фиксировать данные только при сохранении, или можно использовать двухстороннее связывание без кнопок?