2012-08-04 49 views
2

的使用mvvmlight Windows 8的状态处理实现在Windows 8的处理有没有什么方法所能得到的利勃海尔在mvvmligt在WinRT的管理状态?如何通过使用WinRT来复制默认SuspensionManager的功能?第二个是关于管理导航周期,即如果我从页面A - > B导航,并进入暂停和关闭状态。当我重新启动需要打开页面B的应用程序,并且按下后退键时,我需要加载A.如何在WinRT应用程序中使用MVVM light有效实现此功能?状态使用mvvmlight

+0

[实施国家使用MVVM光处理在窗口8]的可能重复(http://stackoverflow.com/questions/11710859 /实施状态装卸式窗口-8-使用-MVVM光) – 2012-08-05 20:37:34

回答

-1

我写了这个原本为WP7,并已更新适用于Win8 RT。它允许您将属性附加到您希望保留在视图模型中的属性中,然后PersistenceManager在应用程序暂停时对其进行脱水(序列化为文件),并在恢复时进行再水化。

存在用于WP7和Win8的,基本MVVM模式和MVVM光实例

Obelisk

0

这些不是真正的MVVM Light功能。你需要自己做这些。

一种选择是创建自己的导航服务(见例如here)。导航服务可以使用暂停管理器为应用程序构建/管理面包屑路径。如果添加一个额外的方法:

public void GoToMostRecentPage() 
{//blah} 

你最好能够调用的应用程序启动这个方法,并采取用户到相应的页面。

我会坚持使用SuspensionManager。如果你想让MVVM更友好,你可以将它包装在一个服务中,根据需要将它注入到视图模型中。

0

你可能会感兴趣的开源Okra App Framework,您可以从的NuGet或CodePlex上网站,我挂上面得到。它从头开始设计,可以很好地与Windows 8和MVVM模式一起工作(并且您仍然可以使用您的MVVM Light基类)。

它有一个导航管理器,可以自动处理上面提到的所有事情 - 管理应用程序的导航堆栈,在应用程序挂起/终止时持久化堆栈,甚至允许视图模型通过简单的界面持久化自己的状态SuspensionManager适用于页面)。

(免责声明:我对这个项目的主要开发人员)