应用程序加载Wp8时布尔值重置

本文关键字:布尔值 加载 Wp8 应用程序 | 更新日期: 2023-09-27 18:21:45

嗨,我对C#&windows手机。

当应用程序加载时,我想要弹出窗口询问用户是否愿意做一些

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,如果我使用字符串,它会说字符串不能用作布尔

有什么建议吗?

应用程序加载Wp8时布尔值重置

使用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"];

但是,应该始终将其包含在try-catch中,因为密钥可能不存在

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中执行此代码。