2

我的应用程序中有键值隔离存储,它包含 4 个变量:2 个双精度数、1 个布尔值和 1 个 ObservableCollection 类对象。当我将 ObservableCollection 设置为设置并像这样保存时

settings["PlaceMarks"] = PlaceMarks;

它覆盖了我的 bool var,并且在下次启动时出现“找不到密钥”异常

如果我写入此设置,例如字符串或数字

settings["PlaceMarks"] = "string";

一切正常。我的收藏只有三个简单类的实例。所以这是我的问题,为什么我的价值会消失?可能是我不知道的 IsolatedStorageSettings 的一些限制

4

2 回答 2

3

您是否将 Observable Collection 中的那些类标记为 Serializeable ?

ObservableCollection 本身未标记为可序列化。 http://msdn.microsoft.com/en-us/library/ms668604(v=vs.95).aspx

我建议您尝试改用 List

于 2012-04-20T11:23:35.387 回答
1

只有可序列化的对象(不是 ObservableCollection 的情况)可以保存在 IsolatedStorageSettings 中。

在保存 IsolatedStorageSettings 之前,使用DataContractSerializer对对象进行序列化。

https://stackoverflow.com/a/7417049/358596

于 2012-04-20T11:34:18.573 回答