0

如何保存状态(例如通过 PhoneApplicationService)并且不违反 mvvm 原则。

当应用程序进入“停用”状态时,我想保留模型对象(例如,绑定到表单)并在应用程序恢复时恢复它。

我应该在哪里放置“保存状态机制”的逻辑。在视图或视图模型中?

viewmodel 中的缺点:我想在其他平台(Win8)上使用我的 mvvm,并且我想让我的 mvvm 最大程度地独立于平台。

我一直在考虑 viewmodel 中的一个事件,在该事件中,可以在创建模型对象的时刻处理视图并将其保存在特定于平台的存储中。

或者

使服务根据接口保存状态并在 ViewModelLocator 中注册。

4

1 回答 1

1

我最近写了一篇关于这个的文章,我为此创建了一个 NuGet 包:

文章:http ://www.kenneth-truyers.net/2013/03/13/tombstoning-made-easy-in-windows-phone-mvvm/

NuGet:安装包 WindowsPhone.MVVM.Tombstone

您可以阅读文章以了解如何使用该软件包。

该包基本上允许您应用属性以在墓碑时保存所有属性并自动恢复它们。您只需要处理两个页面事件。

于 2013-03-29T22:52:21.887 回答