漫游/本地设置无法保存设置

时间:2013-02-12 05:14:14

标签: c# .net windows-8 windows-store-apps

我需要在漫游或本地设置中保存设置。问题是,当我执行程序时,它显示设置与给定密钥一起存储,并且也可以检索这些设置。 但是当我稍后重新执行或执行相同的程序时,这些保存的设置将丢失。它再创造了它们!!

为什么设置没有保存?

要设置设置,我使用以下代码(设置为字符串,值为对象)

ApplicationData.Current.LocalSettings.Values.Add(setting, value);

ApplicationData.Current.RoamingSettings.Values.Add(setting, value);

要检索设置,我使用以下代码

ApplicationData.Current.RoamingSettings.Values[setting];

此代码有什么问题?

2 个答案:

答案 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)

我通过调试测试方法犯了大错,因此不会永久保存设置。如果您执行应用程序,所有设置将通过上述简单编码保存。