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

时间:2014-09-12 00:04:33

标签: c# windows-phone-7 visual-studio-2012 windows-phone-8

您好我还是C#& windows phone。

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

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

现在工作正常,如果用户说不,我想要一个弹出窗口,询问用户是否愿意下次提醒,以便使用

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  }

我需要某种开关,所以当应用程序第一次启动时 app检查打开的开关, 他们被问到一个问题

如果他们回答取消, 他们被问到是否需要提醒

如果他们回答否, 将开关设为关闭

我尝试使用布尔值但是当应用关闭时它只会重置为true,如果我使用字符串,则表示字符串不能用作布尔值

任何建议?

2 个答案:

答案 0 :(得分:1)

使用 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)
{
}

更多信息可以在这里找到:

How to: Store and Retrieve Application Settings Using Isolated Storage

答案 1 :(得分:0)

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

这是您需要的所有代码。 只在首次启动时将您想要执行的所有操作放入此if语句中。然后在主页Loaded事件或OnNavigatedTo

中执行此代码