在 WinRT 版本的 Caiburn Micro 中是否支持暂停和恢复?如果答案是肯定的,我如何使用此架构实现挂起/恢复功能。我不相信像 caliburn micro 这样的成熟架构不支持状态处理。
还有我如何在停用时保持导航,比如 Windows Phone 的导航行为。
请任何人帮我解决这个问题
在 WinRT 版本的 Caiburn Micro 中是否支持暂停和恢复?如果答案是肯定的,我如何使用此架构实现挂起/恢复功能。我不相信像 caliburn micro 这样的成熟架构不支持状态处理。
还有我如何在停用时保持导航,比如 Windows Phone 的导航行为。
请任何人帮我解决这个问题
有几页关于这方面的文档 - 自从我使用 caliburn.micro 以来已经有一段时间了,所以我不确定这些是否能完全回答你的问题,但你去吧:
其要点是“从屏幕继承”。这将为您提供覆盖OnActivate()
的OnDeactivate()
方法等。您可以使用它们来暂停和恢复您的应用程序。
此外,在 caliburn.micro 中通过StorageHandler
s 对 WP7 提供了“墓碑”支持——也许相应的类也可用于 WinRT。以下是关于这些的一些文档:
正如另一个答案中提到的,我认为 OnActivate() 和 OnDeactivate() 不是在 WinRT 中处理“墓碑”的理想解决方案。这些覆盖只会在 View 变为 Active 或销毁时触发一次,而不是每次 View 失去焦点并返回时触发。
我还没有遇到 Caliburn.Micro WinRT 中的暂停/恢复功能。
但这可以通过 .NET 基础架构轻松实现。按照这个msdn链接了解完整的详细信息。
简而言之,
处理导航离开和返回(应用程序最小化和恢复)在 ViewModels 中使用以下事件:
Window.Current.VisibilityChanged += OnVisibilityChanged;
在 App 类中处理 Suspend/Resume 覆盖 OnSuspending 和 OnResuming。