WP7 сохраняет переменные при закрытии? - PullRequest
0 голосов
/ 21 июня 2011

Когда мое приложение закроется, значения, которые я установил, все еще будут там, когда я снова открою его? Или есть способ их где-то сохранить?

Ответы [ 2 ]

6 голосов
/ 21 июня 2011

Нет, не будут,

Когда вы выпрыгиваете из приложения, приложение переходит в состояние, называемое TombStoned, вы несете ответственность за хранение и извлечение полезных элементов страницы.* Для этого вам необходимо хранить информацию о следующем событии на вашей странице:

public override void OnNavigatedFrom(...)
{
    State["XXX"] = txtName.Text; // save your data on page state (keep it low in size!)
}

так же, как вам нужно получить данные о следующем событии

public override void OnNavigatedTo(...)
{
    txtName.Text = State["XXX"]; // read your data from page state
    // also check if state has any entry with this key
}

Если вам нужно сохранить данные уровня приложения, вам нужно сделать это в вашем App.xaml.cs в следующих событиях:

public override void OnDeactivated(...)
{
    // Store in IsolatedStorageSettings
}

public override void OnActivated(...)
{
    // Read from IsolatedStorageSettings
}

Подробнее о Tombstoning читайте в следующей статье:

http://www.scottlogic.co.uk/blog/colin/2011/05/a-simple-windows-phone-7-mvvm-tombstoning-example/

4 голосов
/ 21 июня 2011

Когда ваше приложение закрывается, вся информация будет потеряна, если вы не сохраните ее где-нибудь. Для временных данных, таких как состояние состояния страницы (например, текстовые поля, флажки и т. Д.), Вы можете использовать PhoneApplicationPage.State . Если вам нужно хранить данные постоянно, чтобы они были там в следующий раз, когда пользователь запустит приложение, вы должны сохранить их в изолированном хранилище . Вы можете узнать больше о надгробной плите и о том, когда следует хранить состояния на этой странице MSDN .

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

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