Состояние страницы в приложениях 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 ответ
Вы должны сохранить состояние, если оно имеет смысл в контексте вашего приложения и будет полезно для пользователя.
Это почти наверняка означает "захоронение", но, вероятно, нет, когда приложение закрывается с помощью кнопки "Назад" и затем перезапускается.
В вашем сценарии позиция прокрутки и текст будут потеряны при захоронении, поэтому вы, вероятно, захотите сохранить эти детали.
Сохранение состояния имеет значение только в контексте захоронения и запуска новых экземпляров приложения, поэтому (за исключением небольшого числа исключительных случаев - и это не похоже на то, что вы один из них) говорить о сохранении не имеет смысла состояние за пределами этого.