Windows Phone 上的独立存储(隔离存储设置)限制

本文关键字:存储 隔离 设置 限制 Windows 独立 Phone | 更新日期: 2023-09-27 18:31:50

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

settings["PlaceMarks"] = PlaceMarks;

它覆盖了我的布尔变量,下次启动时我得到"找不到密钥"异常

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

settings["PlaceMarks"] = "string";

一切都很好。我的集合只有三个简单类的实例。所以我的问题来了,为什么我的价值消失了?可能是我不知道的隔离存储设置的一些限制

Windows Phone 上的独立存储(隔离存储设置)限制

您是否将可观察集合中的那些类标记为可序列化?

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

我建议您尝试使用列表

只有可序列化的对象(不是 ObservableCollection 的情况)才能保存在隔离存储设置中。

对象在保存隔离存储设置之前使用 DataContractSerializer 进行序列化。

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