Windows Phone 7 состояний - PullRequest
       1

Windows Phone 7 состояний

0 голосов
/ 24 ноября 2010

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

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

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

Другое решение, о котором я подумал, - когда запускается событие Loaded, я буду статически объявлять операторы if else и вручную объявлять видимость кнопки.

Есть ли другой способ?

Ответы [ 2 ]

0 голосов
/ 24 ноября 2010

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

Если вы хотите сохранить состояние во время захоронения, принято использовать события OnNavigatedFrom и OnNavigatedTo для хранения сведений в объекте State.

Есть хороший пример того, как сделать это на MSDN: Как: сохранить и восстановить состояние страницы для Windows Phone

Если вы хотите сохранить состояние для всехвыполнения вашего приложения, то вам нужно будет использовать IsolatedStorage, чтобы хранить детали в постоянном месте.Где и когда вы будете читать и записывать данные, будет зависеть от того, где находятся данные, которые вам нужно сохранить.
Если это уровень приложения, вы можете использовать события уровня приложения (запуск, активация, закрытие и деактивация),Если у вас есть данные о состоянии на уровне страницы, вероятно, лучше сделать это на уровне страницы (Loaded / Unloaded или NavigatedFrom / To, в зависимости от ситуации).

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

0 голосов
/ 24 ноября 2010

Пространство имен System.IO.IsolatedStorage подходит для такого поведения, проверьте его здесь Также ознакомьтесь с этой статьей о том, как сделать то, что вы просите.

Сохранение состояний приложений

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