Состояние страницы в приложениях Windows Phone 7 - нужно ли его сохранять?

В следующем сообщении в блоге автор описывает необходимость сохранения состояния страницы, например текста в элементе управления TextBox, в словаре состояния страницы, чтобы оно восстанавливалось при переходе между страницами:

http://www.wintellect.com/CS/blogs/jgarland/archive/2011/01/26/a-matter-of-state-part-1.aspx

Тем не менее, я создал очень простое приложение, которое имеет одну страницу с кнопкой и TextBlock и ListBox элементов. Кнопка перемещается на фиктивную страницу через NavigationService.Navigate, Теперь, если я прокручиваю список и ввожу некоторый текст в мой TextBox, перехожу на фиктивную страницу, затем нажимаю кнопку "Назад", я вижу, что мой текст все еще присутствует в TextBox и позиция прокрутки была сохранена.

У меня такой вопрос (в стороне), нужно ли мне когда-либо сохранять состояние элементов управления пользовательского интерфейса при простой навигации между ними? Похоже, что frameowkr делает это для меня (несмотря на сообщение в блоге выше!).

1 ответ

Решение

Вы должны сохранить состояние, если оно имеет смысл в контексте вашего приложения и будет полезно для пользователя.

Это почти наверняка означает "захоронение", но, вероятно, нет, когда приложение закрывается с помощью кнопки "Назад" и затем перезапускается.

В вашем сценарии позиция прокрутки и текст будут потеряны при захоронении, поэтому вы, вероятно, захотите сохранить эти детали.
Сохранение состояния имеет значение только в контексте захоронения и запуска новых экземпляров приложения, поэтому (за исключением небольшого числа исключительных случаев - и это не похоже на то, что вы один из них) говорить о сохранении не имеет смысла состояние за пределами этого.

Другие вопросы по тегам