2

使用 mvvmlight 在 Windows 8 中实现状态处理 在 mvvmligt 中是否有任何方法可以管理 WinRT 中的状态?如何使用 WinRT 复制默认 Suspensionmanager 的功能?第二个是关于管理导航周期,即如果我从页面 A - > B 导航,然后进入挂起和关闭状态。当我重新启动需要打开页面 B 的应用程序并按下返回键时,我需要加载 A。如何在我的 WinRT 应用程序中使用 MVVM 灯有效地实现这一点?

4

3 回答 3

0

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

一种选择是创建您自己的导航服务(参见此处的示例)。导航服务可以使用暂停管理器来为应用程序构建/管理面包屑路径。如果您添加了其他方法:

public void GoToMostRecentPage()
{//blah}

您可以在应用程序启动时调用此方法并将用户带到相应的页面。

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

于 2012-08-10T14:17:48.220 回答
0

您可能对可以从 NuGet 或我上面链接到的 CodePlex 站点获得的开源Okra App Framework感兴趣。它是从头开始设计的,可以很好地与 Windows 8 和 MVVM 模式配合使用(您仍然可以使用 MVVM Light 基类)。

它有一个导航管理器,可以自动处理你上面提到的所有事情——管理应用程序的导航堆栈、应用程序暂停/终止时堆栈的持久性,甚至允许视图模型通过一个简单的接口来保持它们自己的状态(比如 SuspensionManager 如何为页面工作) )。

(免责声明:我是该项目的首席开发人员)

于 2012-08-15T12:18:10.040 回答
-1

我最初是为 WP7 编写的,并且一直在为 Win8 RT 进行更新。它允许您将属性附加到要保留在视图模型中的属性,然后 PersistenceManager 在应用程序暂停时将它们脱水(序列化到文件),并在应用程序恢复时重新水化。

有 WP7 和 Win8 的示例,基本 MVVM 模式和 MVVM Light

方尖碑

于 2012-08-31T14:35:29.213 回答