[英]UWP - How to save frame backstack and current page?
Hi I have this hierarchy 嗨,我有这个层次结构
App (RootFrame) 应用程式(RootFrame)
And I want to handle Back button correctly. 而且我想正确处理“后退”按钮。 Navigating between pages in inner frames is ok, but when I go for example from "List Page with entities 2" to "Detail page for entity 2" and then back, MainShell i recreated and forgets the InnerFrames BackStack and opened Page(should be "List Page with entities 2") 在内部框架中的页面之间导航是可以的,但是例如当我从“具有实体2的列表页面”转到“实体2的详细信息页面”,然后返回时,我重新创建了MainShell,并且忘记了InnerFrames BackStack并打开了Page(应为“具有实体2“的列表页
Is there any elegant way to handle this? 有什么优雅的方法可以解决这个问题吗? for example save InnerFrames history and current page when navigatedFrom at MainShell happens? 例如在MainShell上的navigationdFrom发生时保存InnerFrames历史记录和当前页面?
You can try Prism Framework , here is a lifecycle managing example . 您可以尝试Prism Framework ,这是一个生命周期管理示例 。
In a nutshell Prism provides SessionStateService
to manage view restoring when OnAppSuspended
and OnAppResumed
events invoked. 简而言之,Prism提供了SessionStateService
来管理调用OnAppSuspended
和OnAppResumed
事件时的视图还原。
Also Prism NavigationService
passes NavigatedToEventArgs e, NavigatedFromEventArgs e, Dictionary<string, object> viewModelState
parameters and your page behaviour can be overrided in OnNavigatedTo
and OnNavigatedFrom
using this parameters. Prism NavigationService
还会传递NavigatedToEventArgs e, NavigatedFromEventArgs e, Dictionary<string, object> viewModelState
参数,并且可以使用此参数在OnNavigatedTo
和OnNavigatedFrom
覆盖您的页面行为。
I found what I needed. 我找到了我所需要的。 There are SetNavigationState(string) and GetNavigationState() methods on Frame object. Frame对象上有SetNavigationState(string)和GetNavigationState()方法。 Thanks anyway 不管怎么说,还是要谢谢你
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.