在将我的WPF MVVM应用程序移植到MvvmCross时,对于核心程序集中的持久用户设置,推荐的方法是什么?目前,我正在使用Properties.Settings完成此任务。理想情况下,我想要一个解决方案,可以很好地发挥与ClickOnce升级视窗。
谢谢!
发布于 2013-05-16 15:07:13
如果你只想支持WPF,那么你可以继续使用properties.settings。
如果您希望在其他平台上也支持使用本机技术的设置,那么您可以为您的设置创建一个接口/抽象,然后使用依赖注入在每个平台上注入适当的设置实现。如果你愿意,你可以在一个插件中做到这一点--但是对于入门来说,最简单的方法是在你的Setup.cs的UI项目中注入这个插件(关于如何构建一个插件,请参阅https://speakerdeck.com/cirrious/plugins-in-mvvmcross)
我可能会做的..。是使用可移植的设置实现-使用简单的JSON文件或使用小型SQLite数据库(通过SQLite-net访问)。这将使您能够在所有平台上重用完全相同的代码。我不知道ClickOnce是如何工作的(我对ClickOnce了解不多),但我假设ClickOnce会在升级期间保留这些数据文件。
有关可移植保存JSON文件的信息,请参阅https://github.com/slodge/MvvmCross-Tutorials/blob/master/Sample%20-%20CirriousConference/Cirrious.Conference.Core/Models/FavoritesSaver.cs
要使用SQLite-net,请参阅https://speakerdeck.com/cirrious/using-sqlite-dot-net-in-mvvmcross -但请注意,SQLite-net的nuget包仍然受到x64/x86/ARM差异的开放问题的影响-请参阅How to distribute processor-specific WindowsStore assemblies with nuget :/ /
https://stackoverflow.com/questions/16577760
复制相似问题