Xamarin.Forms Master/Detail 使用 Prism 返回堆栈

Xamarin.Forms Master/Detail back stack with Prism

我正在使用 Xamarin.Forms 和 Prism 以及 Master/Detail 创建一个 "hamburger" 菜单。当应用程序运行时,我导航到 NavigationService.NavigateAsync("MyMasterDetailPage/MyNavigationPage/MainPage");

我在主弹出菜单中有用于导航到其他页面的项目。所以我点击一个并导航到 MyNavigationPage/SyncPage。此时,如果我点击 Android 上的后退按钮,应用程序将关闭。相反,我想导航回 MainPage。我试图连接到 SyncPage 的 OnNavigatedFrom 以强制导航回 MainPage,但该应用程序在事件触发时已经关闭。

在 MyNavigationPage 上实现 INavigationPageOptions 接口并设置 ClearNavigationStackOnNavigation = false

我实施了一个类似于 Brian 建议的解决方案,但必须添加一个检查 return true 如果这是第一次通过才能正常工作。