0

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

为什么设置没有被保存?

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

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

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

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

ApplicationData.Current.RoamingSettings.Values[setting];

这段代码有什么问题?

4

2 回答 2

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 有时会执行此操作。

于 2013-02-12T05:45:46.537 回答
1

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

于 2013-02-13T05:30:17.927 回答