Caliburn Micro WinRT状态处理

时间:2013-02-18 07:59:37

标签: windows-8 windows-runtime caliburn.micro

在WinRT版本的Caiburn Micro中是否有对Suspend和resume的支持?如果答案是肯定的,那么我如何使用这种架构实现Suspend / Resume功能。我不相信像caliburn micro这样的完整架构不支持状态处理。

此外,我可以在停用时保持导航,类似于Windows手机的导航行为。

请有人帮我解决这个问题

2 个答案:

答案 0 :(得分:2)

这方面有几页文档 - 自从我使用caliburn.micro以来已经有一段时间了,所以我不确定这些是否能完全回答你的问题,但是你去了:

Screens, Conductors and Composition

这是“继承屏幕”的要点。这将为您提供覆盖OnActivate()OnDeactivate()方法。您可以使用它们来暂停和恢复您的应用程序。

此外,通过StorageHandler s在caliburn.micro中对WP7的“Tombstoning”支持 - 也许相应的类也可用于WinRT。这里有一些文档:

Working with Windows Phone 7 v1.1

答案 1 :(得分:0)

正如在另一个答案中所提到的,我认为,OnActivate()和OnDeactivate()不是处理WinRT中“墓碑”的理想解决方案。当View变为活动或被破坏时,这些覆盖将仅触发一次,而不是每次View失焦并返回时都会触发。

我还没有遇到Caliburn.Micro WinRT中的Suspend / Resume功能。

但是,这可以通过.NET基础结构轻松实现。请点击此msdn链接获取完整详情。

简而言之,

处理导航并返回(应用最小化和恢复)在ViewModels中使用以下事件:

Window.Current.VisibilityChanged += OnVisibilityChanged;

在App类中处理Suspend / Resume覆盖OnSuspending和OnResuming。