因此,我有一个初始屏幕和一个LoginScreen,在用户登录后,然后向他显示MasterDetailPage,并且有一个注销的选项,我要实现的是清除masterdetail导航并转到登录页面。使用Prism.Forms 但是,当我执行“ NavigationPage / LoginPage”时,它仍然具有MasterDetailPage导航处于活动状态,有没有办法使用Prism禁用此行为
任何帮助都会有帮助
答案 0 :(得分:0)
正如我从您的问题中看到的那样,您想重置导航堆栈和主从页面,并导航到登录页面的“清除”页面。如果您想实现这一目标,则不需要使用NavigationPage/LoginPage
,因为您将需要使用Absolute navigation
,因为在Prism中使用绝对导航,您将能够重置整个导航堆栈,并且等效到:
Application.Current.MainPage = new SomePage()
您可以找到有关here的更多信息。
但是基本上,您需要做的是使用Prism Absolute导航,如下所示:
//absolute short-syntax
_navigationService.NavigateAsync("/YourPage"); //notice the prefix /
//absolute URI-syntax
_navigationService.NavigateAsync(new Uri("http://www.brianlagunas.com/YourPage", UriKind.Absolute));
代码示例来自Prism库文档站点
我也建议您看一下我的博客文章How to make Master-Detail Page Navigation menu in Xamarin.Forms with Prism
祝您编程愉快!