c# - 如何使用 Prism.Forms 框架从普通页面导航到 MasterDetailPage?
问题描述
所以我有一个启动屏幕和一个 LoginScreen,在用户登录后,他会看到一个 MasterDetailPage,并且有一个注销选项,我想要实现的是清除 masterdetail 导航并使用 Prism 进入登录页面。表单但是当我执行“NavigationPage/LoginPage”时,它仍然激活了 MasterDetailPage 导航,有没有办法使用 Prism 禁用此行为
任何帮助都会有所帮助
解决方案
正如我从您的问题中看到的那样,您想要重置导航堆栈和主详细信息页面并导航到登录页面的“清除”页面。如果你想实现这一点,你不想使用NavigationPage/LoginPage
你将需要使用Absolute navigation
,因为在 Prism 中使用绝对导航,你将能够重置整个导航堆栈,它相当于:
Application.Current.MainPage = new SomePage()
你可以在这里找到更多关于它的信息。
但基本上你需要做的是像这样使用 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 Library 文档站点
另外,我建议您查看我的博客文章How to make Master-Detail Page Navigation menu in Xamarin.Forms with Prism
祝你编码好运!
推荐阅读
- php - Codeigniter 网站 PHP 代码主题无法注册和登录
- python - 如何从 Trustpilot 获取业务部门 ID
- angular - 角度如何检测 ng-content 中有多少组件?
- javascript - 这里显示的是主体,而不是主体。无法弄清楚这有什么问题
- go - 是否可以在不丢失行号前缀的情况下包装 logrus.Logger 函数?
- json - 我想将循环引用 JSON 从客户端发送到服务器端
- c# - 在 C# 中读取 Pre-OCR'd PDF
- c++ - *max_element 用于查找范围内的最大值
- javascript - 使用 typescript 和 webpack 热重载
- r - 使用 R 进行编程,第 7 章,第 176 页,你可以让 'score' 函数将 'DD' 视为通配符吗?