我有一个“设置页面”,它将保存用户的值以供进一步使用。如果用户设置此值,则此值将用于主页面。首先在主页面中检查用户是否设置或更改以前保存的值。如果更改则使用当前值,否则将使用先前的已结算值。
我使用了Application.Current.Resources。
但我发现如果我的应用程序再次重启,则该值将丢失。
我需要的是,从设置页面将保存一个名为noOfWordsForLearning
(例如)的值,以便随时可以从任何页面访问它。如果值随时更改,则其他页面可以获取更改的值。我试过这样的。
在设置页面中:
Application.Current.Resources.Add("savedNoOfWords",noOfWordsForLearning);
在主页:
if (Application.Current.Resources.Contains("savedNoOfWords"))
{
getSavedValueFromSetting = (int)Application.Current.Resources["savedNoOfWords"];
MessageBox.Show("no of saved words is " + getSavedValueFromSetting);
}
else
MessageBox.Show("no of default words is "+getSavedValueFromSetting);
我该怎么做?
答案 0 :(得分:0)
我不知道是否有任何性能问题或其他问题,但如果你想避免阅读和我经常写信给IsolatedStorage,这就是我要做的事情:
//In App.xaml.cs
//Point no 1
private void Application_Launching(object sender, LaunchingEventArgs e)
{
object noOfWordsForLearning;
IsolatedStorageSettings.ApplicationSettings.TryGetValue("savedNoOfWords", out noOfWordsForLearning);
if (noOfWordsForLearning != null)
{
Application.Current.Resources["savedNoOfWords"] = noOfWordsForLearning;
}
}
//Point no 2
private void Application_Closing(object sender, ClosingEventArgs e)
{
IsolatedStorageSettings.ApplicationSettings["savedNoOfWords"] = noOfWordsForLearning;
}
遵循这些步骤的另一个好处是:您现有的代码(仅读取并保存到Application.Current.Resources)将保持不变。您只需添加代码即可完成第1点和第1点的操作。我希望这有帮助,欢呼。