在WinRT版本的Caiburn Micro中是否有对Suspend和resume的支持?如果答案是肯定的,那么我如何使用这种架构实现Suspend / Resume功能。我不相信像caliburn micro这样的完整架构不支持状态处理。
此外,我可以在停用时保持导航,类似于Windows手机的导航行为。
请有人帮我解决这个问题
答案 0 :(得分:2)
这方面有几页文档 - 自从我使用caliburn.micro以来已经有一段时间了,所以我不确定这些是否能完全回答你的问题,但是你去了:
Screens, Conductors and Composition
这是“继承屏幕”的要点。这将为您提供覆盖OnActivate()
和OnDeactivate()
方法。您可以使用它们来暂停和恢复您的应用程序。
此外,通过StorageHandler
s在caliburn.micro中对WP7的“Tombstoning”支持 - 也许相应的类也可用于WinRT。这里有一些文档:
答案 1 :(得分:0)
正如在另一个答案中所提到的,我认为,OnActivate()和OnDeactivate()不是处理WinRT中“墓碑”的理想解决方案。当View变为活动或被破坏时,这些覆盖将仅触发一次,而不是每次View失焦并返回时都会触发。
我还没有遇到Caliburn.Micro WinRT中的Suspend / Resume功能。
但是,这可以通过.NET基础结构轻松实现。请点击此msdn链接获取完整详情。
简而言之,
处理导航并返回(应用最小化和恢复)在ViewModels中使用以下事件:
Window.Current.VisibilityChanged += OnVisibilityChanged;
在App类中处理Suspend / Resume覆盖OnSuspending和OnResuming。