在將我的WPF MVVM應用程序移植到MvvmCross時,針對Core程序集中持久用戶設置的推薦方法是什麼?目前,我正在使用Properties.Settings來執行此任務。理想情況下,我想要一個可以在Windows上使用ClickOnce升級的解決方案。MvvmCross核心組件中的設置?
謝謝!
在將我的WPF MVVM應用程序移植到MvvmCross時,針對Core程序集中持久用戶設置的推薦方法是什麼?目前,我正在使用Properties.Settings來執行此任務。理想情況下,我想要一個可以在Windows上使用ClickOnce升級的解決方案。MvvmCross核心組件中的設置?
謝謝!
如果你只想支持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網,看到https://speakerdeck.com/cirrious/using-sqlite-dot-net-in-mvvmcross - 但要知道,SQLite的,網上的NuGet包仍然在x64/x86平臺/ ARM區別開的問題受苦 - 見How to distribute processor-specific WindowsStore assemblies with nuget:/