如何保存状态(例如,通过PhoneApplicationService)并且不破坏mvvm原则。
当应用程序进入“停用”状态时,我想保留模型对象(例如,绑定到表单)并在应用程序恢复时恢复它。
我应该放置“保存状态机制”的逻辑。在视图或viewmodel?
viewmodel中的缺点: 我想在其他平台(Win8)中使用我的mvvm,我想让我的mvvm最大程度地独立于平台。
我一直在考虑viewmodel中的一个事件,其中视图可以在模型对象创建时处理,并将其保存在特定于平台的存储中。
或
使服务基于接口保存状态并在ViewModelLocator中注册。
答案 0 :(得分:1)
我最近写了一篇关于这个的文章,我为此创建了一个NuGet包:
文章:http://www.kenneth-truyers.net/2013/03/13/tombstoning-made-easy-in-windows-phone-mvvm/
NuGet:安装 - 打包WindowsPhone.MVVM.Tombstone
您可以阅读该文章以了解如何使用该软件包。
该软件包基本上允许您应用属性在逻辑删除时保存所有属性并自动恢复它们。您只需要处理两个页面事件。