繁体   English   中英

UWP-如何保存框架后退和当前页面?

[英]UWP - How to save frame backstack and current page?

嗨,我有这个层次结构

应用程式(RootFrame)

  • 登录页面
  • 主机壳(InnerFrame)
    • 实体列表页1
    • 实体列表页面2
  • 实体1(InnerFrame2)的详细信息页面
    • 1-1页
    • 第1-2页
  • 实体2的详细信息页面(InnerFrame3)
    • 2-1页
    • 2-1页

而且我想正确处理“后退”按钮。 在内部框架中的页面之间导航是可以的,但是例如当我从“具有实体2的列表页面”转到“实体2的详细信息页面”,然后返回时,我重新创建了MainShell,并且忘记了InnerFrames BackStack并打开了Page(应为“具有实体2“的列表页

有什么优雅的方法可以解决这个问题吗? 例如在MainShell上的navigationdFrom发生时保存InnerFrames历史记录和当前页面?

您可以尝试Prism Framework ,这是一个生命周期管理示例

简而言之,Prism提供了SessionStateService来管理调用OnAppSuspendedOnAppResumed事件时的视图还原。

Prism NavigationService还会传递NavigatedToEventArgs e, NavigatedFromEventArgs e, Dictionary<string, object> viewModelState参数,并且可以使用此参数在OnNavigatedToOnNavigatedFrom覆盖您的页面行为。

我找到了我所需要的。 Frame对象上有SetNavigationState(string)和GetNavigationState()方法。 不管怎么说,还是要谢谢你

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM