Должны ли в формах редактирования WP7 иметь кнопки «Сохранить / Отменить» или следует использовать двухстороннее связывание? - PullRequest
2 голосов
/ 29 октября 2010

Это вопрос по интерфейсу редактирования формы для приложения WP7:

В настоящее время мои поля формы редактирования установлены на двухстороннее связывание, что означает, что, когда пользователь изменяет их, они сохраняются при редактировании и обновляют пользовательский интерфейс во ViewModel (метод 1). Поэтому мне не нужна кнопка «Сохранить», и нет кнопки «Отмена» (если только вы не программируете в логике для сохранения исходного состояния и отката при отмене).

Метод 2 будет состоять в использовании односторонней привязки и UpdateSource для кнопки сохранения, а затем у вас может быть кнопка «Отмена», которая работает как кнопка «Назад» (возвращается без сохранения).

Метод 1 хорош, так как он обрабатывает сохранение состояния, если приложение захоронено - WP7 восстановит страницу, и ваши изменения будут сохранены. Недостатком является то, что пользователь не может восстановить его в исходное состояние после внесения изменений. Моя форма тривиальна, поэтому я не думаю, что это проблема. Кнопка «Назад» действует как «Назад».

Я также делаю вычисления в свойстве сеттера в моей виртуальной машине, которые должны быть отражены в пользовательском интерфейсе (т. Е. У вас будет в поле 1, а в поле 2 - двойное значение (но они также могут переопределять его) - я использую 2-стороннее связывание в поле 1 и обновите поля 1 и 2. при редактировании. Я не могу придумать, как это сделать, используя явное обновление.

Проблема в том, что у меня есть кнопка «Удалить» для записи, поэтому, когда я использую метод 1 без кнопки «Сохранить и отменить», пользователь, скорее всего, нажмет кнопку «Удалить», так как это единственный доступный вариант (ему нужно нажать на кнопку Назад, чтобы вернуться).

Мой вопрос; должна ли простая форма иметь кнопку «Сохранить и отменить» и фиксировать данные только при сохранении, или можно использовать двухстороннее связывание без кнопок?

Ответы [ 2 ]

2 голосов
/ 29 октября 2010

Части этого упомянуты в Руководство по проектированию и взаимодействию с пользовательским интерфейсом стр. 68.

Изменения в настройках приложения должны быть немедленно выполнены.Это означает, что «Готово», «ОК» или другое подтверждающее диалоговое окно не требуется.
...
Если задачу нельзя отменить, всегда предоставляйте пользователю возможность отменить.В качестве примера можно ввести текст.
Действия, которые перезаписывают или удаляют данные или являются необратимыми, должны иметь кнопку «Отмена».

Что касается вашей ситуации, вам потребуется подтверждение для действия удаления (см. настройки ie для примера).Остальные поля смотрите в руководстве, так как упоминаются другие проблемы, и вы также можете увидеть, как работают встроенные настройки.

0 голосов
/ 31 октября 2010

Если возможно, что пользователь может не захотеть, чтобы его введенный текст был изменен, будет проще иметь одностороннюю привязку и обновлять сохраненное значение только тогда, когда пользователь специально скажет.
Да, это может немного усложнить сохранение введенных данных во время захоронения, но это означает, что пользователю легче передумать.

В вашей ситуации я бы порекомендовал иметь на экране кнопки «Сохранить» и «Удалить» (и для отмены использовать твердую кнопку «Назад»).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...