Boolean сбрасывается, когда приложение загружает Wp8

Привет, я все еще довольно новичок в C# и Windows Phone.

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

MessageBoxResult m = MessageBox.Show("Info.", "Question?", MessageBoxButton.OKCancel);
if (m == MessageBoxResult.Cancel)
{                }                       
else if (m == MessageBoxResult.OK)
{  //Do Something }

Теперь это работает нормально, если пользователь говорит "нет", я хотел всплывающее окно, которое спрашивает пользователя, не хотели бы они напомнить в следующий раз, чтобы вы использовали U

MessageBoxResult m = MessageBox.Show("Info.", "Question?", MessageBoxButton.OKCancel);
if (m == MessageBoxResult.Cancel)
{     
    MessageBoxResult r = MessageBox.Show("", "Would You Like Reminding Next Time ?",MessageBoxButton.OKCancel);
    if (r == MessageBoxResult.Cancel)
    {   }
    else if (r == MessageBoxResult.OK)
    {   }
}                       
else if (m == MessageBoxResult.OK)
{  //Do Something  }

Мне нужен какой-то переключатель, поэтому, когда приложение запускается впервые, приложение проверяет включенный переключатель, и им задают вопрос

если они ответят отменить, их спросят, хотят ли они напомнить

если они ответят "нет", установите выключатель

Я пытался использовать логическое значение, но оно просто сбрасывается в true, когда приложение закрывается, если я использую строку, он говорит, что строка не может быть использована в качестве bool

Любой совет?

2 ответа

Решение

Используйте IsolatedStorageSettings.ApplicationSettings для быстрого сохранения небольших значений, например

// this will save my "your_key" to false;
IsolatedStorageSettings.ApplicationSettings.Add("your_key", false);
IsolatedStorageSettings.ApplicationSettings.Save(); // make sure you call save

// so the next time the app runs I can get it back doing this
bool your_key = (bool) IsolatedStorageSettings.ApplicationSettings["your_key"];

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

bool your_key = false;  // or default value
try
{
    your_key = (bool) IsolatedStorageSettings.ApplicationSettings["your_key"];
}
catch(Exception ex)
{
}

Более подробную информацию можно найти здесь:

Как: сохранять и получать настройки приложения, используя изолированное хранилище

if(!IsolatedStorageSettings.ApplicationSettings.Contains("first"))
{
   // Do your stuff
   IsolatedStorageSettings.ApplicationSettings["first"] = true;
   IsolatedStorageSettings.ApplicationSettings.Save();
}

Это весь код, который вам нужен. Поместите все, что вы хотите сделать, только при первом запуске этого оператора if. Затем выполните этот код либо на главной странице Loaded событие или OnNavigatedTo,

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