Prism Xamarin窗体工具栏项出现两次

Prism Xamarin窗体工具栏项出现两次,xamarin,xamarin.forms,prism,Xamarin,Xamarin.forms,Prism,我正在使用Prism进行Xamarin表单应用程序开发 可能是因为我对Prism和Xamarin Froms都是新手,所以我面临一个基本的导航问题 让我从我的实施细节开始,然后是手头的问题 我有一个名为Home的MasterDetail页面,它是我的主页。 母版页中有几个菜单项。其中一个是合伙人。 单击合作伙伴菜单项,将调用NavigationService.NavigateAsyncNavigation/Partner方法。其中导航服务属于INavigationService类型。 这将打开一

我正在使用Prism进行Xamarin表单应用程序开发

可能是因为我对Prism和Xamarin Froms都是新手,所以我面临一个基本的导航问题

让我从我的实施细节开始,然后是手头的问题

我有一个名为Home的MasterDetail页面,它是我的主页。 母版页中有几个菜单项。其中一个是合伙人。 单击合作伙伴菜单项,将调用NavigationService.NavigateAsyncNavigation/Partner方法。其中导航服务属于INavigationService类型。 这将打开一个名为Partner的页面,它是一个选项卡式页面TabbedPage。第一个选项卡是名为PartnerAll的contentpage。 PartnerAll页面包含一个listview。单击列表视图项时,通过调用NavigationService.NavigateAsyncNavigation/PartnerDetails、parameters、false、true打开一个新页面PartnerDetails; 在PartnerDetails页面上,我添加了一个名为Cancel的工具栏项。 问题:当PartnerDetails页面打开时,Cancel项显示两次,如屏幕截图所示:

我错在哪里了。我该怎么做才能让它工作

请帮忙


向您致意,Ankur Jain

您正在将两个导航页面推到导航堆栈上。这将导致两个导航栏。您可以在屏幕截图中看到,您有一个背面和一个汉堡包菜单图标

您应该只传入目标页面的标识符字符串,而不是将NavigationPage的另一个实例推送到堆栈上

像这样做NavigationService.NavigateEasyCPartnerDetails