我需要在漫游或本地设置中保存设置。问题是,当我执行程序时,它显示设置与给定密钥一起存储,并且也可以检索这些设置。 但是当我稍后重新执行或执行相同的程序时,这些保存的设置将丢失。它再创造了它们!!
为什么设置没有保存?
要设置设置,我使用以下代码(设置为字符串,值为对象)
ApplicationData.Current.LocalSettings.Values.Add(setting, value);
ApplicationData.Current.RoamingSettings.Values.Add(setting, value);
要检索设置,我使用以下代码
ApplicationData.Current.RoamingSettings.Values[setting];
此代码有什么问题?
答案 0 :(得分:1)
您的代码应该可以正常工作。也许在你用来决定读取值和写回值之间的逻辑中存在一个问题。
尝试在应用启动时添加类似内容:
object settingValue = "InitValue";
if (ApplicationData.Current.LocalSettings.Values.ContainsKey(settingKey))
{
settingValue = ApplicationData.Current.LocalSettings.Values[settingKey];
}
else
{
ApplicationData.Current.LocalSettings.Values[settingKey] = settingValue;
}
如果设置存在,您基本上需要读取设置,否则请将其初始化。
此外,请记住,卸载并重新安装应用程序时会删除本地设置。当您创建更改应用程序清单时,Visual Studio有时会执行此操作。
答案 1 :(得分:1)
我通过调试测试方法犯了大错,因此不会永久保存设置。如果您执行应用程序,所有设置将通过上述简单编码保存。