我对所有这些c#Windows Phone编程都很陌生,所以这很可能是一个愚蠢的问题,但我需要知道任何...
IsolatedStorageSettings appSettings =
IsolatedStorageSettings.ApplicationSettings;
if (!appSettings.Contains("isFirstRun"))
{
firstrunCheckBox.Opacity = 0.5;
MessageBox.Show("isFirstRun not found - creating as true");
appSettings.Add("isFirstRun", "true");
appSettings.Save();
firstrunCheckBox.Opacity = 1;
firstrunCheckBox.IsChecked = true;
}
else
{
if (appSettings["isFirstRun"] == "true")
{
firstrunCheckBox.Opacity = 1;
firstrunCheckBox.IsChecked = true;
}
else if (appSettings["isFirstRun"] == "false")
{
firstrunCheckBox.Opacity = 1;
firstrunCheckBox.IsChecked = false;
}
else
{
firstrunCheckBox.Opacity = 0.5;
}
}
我首先尝试检查我的应用程序设置独立存储中是否有特定的密钥,然后希望根据该密钥的值是“true”还是“false”使CheckBox显示为选中或取消选中。此外,当没有采取任何操作时,我将复选框的不透明度默认为0.5不透明度。
根据我的代码,我收到警告
可能的意外参考比较;要获得值比较,请将左侧投射到“字符串”
有人可以告诉我我做错了什么。我已经探索了将数据存储在Isolated Storage txt文件中,并且这样做有效,我现在正在尝试应用程序设置,并最终尝试下载和存储xml文件,以及创建和存储用户设置到xml文件中。我想尝试了解对我开放的所有选项,并使用哪些选项运行得更好更快
答案 0 :(得分:3)
如果您将值检索的结果从appSettings明确地转换为字符串,如下所示:
if ((string)appSettings["isFirstRun"] == "true")
{
firstrunCheckBox.Opacity = 1;
firstrunCheckBox.IsChecked = true;
}
else if ((string)appSettings["isFirstRun"] == "false")
{
firstrunCheckBox.Opacity = 1;
firstrunCheckBox.IsChecked = false;
}
else
{
firstrunCheckBox.Opacity = 0.5;
}
这将使警告消失。
答案 1 :(得分:1)
IsolatedStorageSettings存储为Dictionary。因此,一般来说,您需要将其明确地转换为您需要使用的任何类型。