问题描述
背景
我的应用程序使用多个 ResourceDictionary
来存储其设置。
关闭应用程序时,设置会写入 XAML
文件。
当用户关闭应用程序时,与默认设置不同的设置将作为一个简单的 XAML 文件写入 Local 或 AppData 文件夹(本地文件夹的首选项),其中包含属性的 ResourceDictionary
。
限制
我正在使用一个可执行的应用程序,所以我没有依赖。 因此,我使用纯文本文件作为我的存储方法。
问题
由于我使用标准 XamlWriter
/XamlReader
序列化和反序列化 XAML 文件,因此模型更改时我很容易出现异常。
我可以检测到错误的行(当一行的属性因模型更改而无法加载时)并删除它们,但由于我还存储了具有子属性的复杂类型,所以它没有多大帮助.
想法
我正在考虑对每个设置文件进行版本控制,并在需要时向上/向下迁移设置(当被不匹配的模型加载时)。
这将解决我的问题,但需要更改设置的存储和加载方式。
问题
我需要一种简单的方法来存储可以一个一个读取的属性(名称、类型、值),对于复杂类型(数组、具有子属性的类型)有一种特殊情况。
我想知道 .NET 中是否已经有一些东西(不是 Properties 类,它有其他问题)或者可以修改为我需要的东西。
如果没有可用的东西,你会如何创造这样的东西?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)