Prism Xamarin Forms ToolbarItem 出现两次

Posted

技术标签:

【中文标题】Prism Xamarin Forms ToolbarItem 出现两次【英文标题】:Prism Xamarin Forms ToolbarItem appearing twice 【发布时间】:2018-07-21 22:47:09 【问题描述】:

我正在使用 Prism 进行 Xamarin Forms 应用程序开发。

可能是因为我是 Prism 和 Xamarin Froms 的新手,因此我面临导航的基本问题。

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

    我有一个 MasterDetail 页面(名为 Home),这是我的主页。 母版页中有一些菜单项。其中之一是合作伙伴。 单击合作伙伴菜单项时,将调用 NavigationService.NavigateAsync("Navigation/Partner") 方法。其中“NavigationService”属于“INavigationService”类型。 这会打开一个名为“合作伙伴”的页面,它是一个标签页(TabbedPage)。第一个选项卡是一个名为“PartnerAll”的内容页。 PartnerAll 页面包含一个列表视图。单击列表视图项时,通过调用 NavigationService.NavigateAsync("Navigation/PartnerDetails", parameters, false, true); 会打开一个新页面“PartnerDetails”; 在 PartnerDetails 页面上,我添加了一个名为“Cancel”的工具栏项。

问题:当“PartnerDetails”页面打开时,“Cancel”项出现两次,如截图所示: screenshot of partner details page with two cancel buttons

我哪里错了。我应该怎么做才能让它发挥作用?

请帮忙。

最好的问候,安库尔·贾恩

【问题讨论】:

【参考方案1】:

您将两个 NavigationPage 推送到 Navigation Stack。这将导致两个导航栏。你可以在你的截图中看到你有一个背部和一个汉堡菜单图标。

【讨论】:

【参考方案2】:

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

这样做NavigationService.NavigateAsync(PartnerDetails);

【讨论】:

以上是关于Prism Xamarin Forms ToolbarItem 出现两次的主要内容,如果未能解决你的问题,请参考以下文章

走进 Prism for Xamarin.Forms

LINKs: Xamarin.Forms + Prism

使用 Xamarin.Forms 和 Prism 的图像点击事件

Prism Xamarin Forms ToolbarItem 出现两次

为啥在使用 Prism 在 Xamarin.Forms 中导航到 root 时,我的 NavigationPage 顶部会出现默认标题?

使用 Prism 在 Xamarin Forms 的后台服务中实现依赖注入