Prism.Forms : 如何处理导航过来的页面?

Prism.Forms : How to dispose the page that has been navigated from?

[Xamarin.Forms]

我有一个案例,我在登录页面上,在用户按下登录按钮后,我使用导航服务转到主页面。问题是 "LoginPage" 仍然处于活动状态并接收事件并与之交互,例如如果我从键盘或删除控件按 "Enter" 将按下登录按钮。 那么有没有办法摆脱 "LoginPage" 使其不监听键盘事件(默认情况下在 Android 中提供)。 否则,有没有办法在我从它导航后处理 "LoginPage"?

使用 Prism 的 INavigationService.NavigateAsync 从一个视图导航到另一个视图不会从导航堆栈中删除页面。它只是将另一个视图推入堆栈。因此它不会被GC。您必须在导航时使用绝对 URI 从导航堆栈中删除页面,或者使用 XF 的 API 手动删除页面。