如何使用Prism.Forms框架从普通页面导航到MasterDetailPage?

时间:2019-07-02 13:08:09

标签: c# ios xamarin.forms xamarin.ios prism

因此,我有一个初始屏幕和一个LoginScreen,在用户登录后,然后向他显示MasterDetailPage,并且有一个注销的选项,我要实现的是清除masterdetail导航并转到登录页面。使用Prism.Forms 但是,当我执行“ NavigationPage / LoginPage”时,它仍然具有MasterDetailPage导航处于活动状态,有没有办法使用Prism禁用此行为

After Logging In

After leaving [![After Logging Again MasteDetailNavigation] 3] 3

任何帮助都会有帮助

1 个答案:

答案 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

祝您编程愉快!