Xamarin主细节棱镜导航栏后退按钮



我有一个使用棱镜的主细节视图。当我点击其中一个菜单项时,汉堡菜单会显示在我点击的新页面的导航栏上,我真的只想让顶部的导航栏显示一个后退按钮,然后可以返回。我怎样才能做到这一点?当我的应用程序加载时,我会调用

await NavigationService.NavigateAsync("/MainPage/NavigationPage");

我想我可以打电话给

await NavigationService.NavigateAsync("/MainPage/NavigationPage/InviteFriends");

这将为新页面提供一个返回主页的按钮,但当我这样做时,它不会做任何

编辑

如果我换成

await NavigationService.NavigateAsync("/MainPage/NavigationPage/FeaturePage"); 

这就是主页的名称(Feature page(,它根本不会加载该页面。

主页是我要转到的其他页面的列表,如果有帮助的话,当汉堡被按下时会显示出来。特色页面是我想在汉堡页面下方显示的页面;主页";屏幕

我这样做对吗?

因此,如果我们以您的示例为例,您有以下导航堆栈:

MainPage/NavigationPage

假设您的导航代码在主细节视图模型中是这样的

await NavigationService.NavigateAsync("/MainPage/NavigationPage/InviteFriends");

这将导致以下导航堆栈:

/MainPage/NavigationPage/InviteFriends

这是因为导航是从主控详细信息页调用的。主详细信息页面在Prism中被视为根页面,当从主详细信息页导航时,它会将目标页面设置为主详细信息的详细信息页。

查看本文了解更多详细的故障链接

小心-从/MainPage开始将清除导航堆栈

一个快速的解决方案是将您的主页添加到导航呼叫中:

await NavigationService.NavigateAsync("MainPage/NavigationPage/HomePage/InviteFriends");

这将创建以下内容:

MasterDetailPage/导航页面/主页/邀请好友

这应该有望创建您想要的响应。希望这能有所帮助。编码快乐!

编辑:

我认为,如果你将最初的详细信息页面分离到自己的文件中,你应该能够做到以下几点:

await NavigationService.NavigateAsync("MainPage/NavigationPage/HomePage/InviteFriends");

相关内容

  • 没有找到相关文章

最新更新