Prism Xamarin Forms INavigationService GoBackAsync 未返回上一页
Posted
技术标签:
【中文标题】Prism Xamarin Forms INavigationService GoBackAsync 未返回上一页【英文标题】:Prism Xamarin Forms INavigationService GoBackAsync not returning to previous page 【发布时间】:2018-07-21 00:36:49 【问题描述】:可能是因为我是 Prism 和 Xamarin Froms 的新手,因此我面临导航的基本问题。
让我从我的实施细节开始,然后是手头的问题。
-
我有一个 MasterDetail 页面(名为 Home),这是我的主页。
母版页中有几个菜单项。其中之一是合作伙伴。
单击合作伙伴菜单项时,将调用 NavigationService.NavigateAsync("Navigation/Partner") 方法。其中“NavigationService”属于“INavigationService”类型。
这会打开一个名为“合作伙伴”的页面,它是一个标签页(TabbedPage)。第一个选项卡是一个名为“PartnerAll”的内容页。
PartnerAll 页面包含一个列表视图。单击列表视图项时,通过调用 NavigationService.NavigateAsync("Navigation/PartnerDetails", parameters, false, true); 会打开一个新页面“PartnerDetails”;
在 PartnerDetails 页面上有一个“取消”按钮。单击此按钮时,我调用 await NavigationService.GoBackAsync(null, false, true);
问题: 当我调用 GoBackAsync 时,合作伙伴页面的 PartnerAll 选项卡不会发生导航。 PartnerDetails 页面保持打开状态。
我哪里错了。我应该怎么做才能让它发挥作用?
请帮忙。
最好的问候, 安库尔耆那教
【问题讨论】:
【参考方案1】:按照此问题(相关问题)中提供的建议解决了该问题: Prism Xamarin Forms ToolbarItem appearing twice
【讨论】:
【参考方案2】:在第 5 点中,您使用新的根页面 PartnerDetails
创建了新的导航页面,并且导航堆栈只有一页,没有可弹出的内容。
变化:
PartnerAll 页面包含一个列表视图。单击列表视图项时, 通过调用打开新页面“PartnerDetails” NavigationService.NavigateAsync("导航/合作伙伴详细信息", 参数, false, true);
收件人:
PartnerAll 页面包含一个列表视图。单击列表视图项时, 通过调用打开新页面“PartnerDetails” NavigationService.NavigateAsync("PartnerDetails", 参数, false, 真);
【讨论】:
以上是关于Prism Xamarin Forms INavigationService GoBackAsync 未返回上一页的主要内容,如果未能解决你的问题,请参考以下文章
使用 Xamarin.Forms 和 Prism 的图像点击事件
Prism Xamarin Forms ToolbarItem 出现两次
为啥在使用 Prism 在 Xamarin.Forms 中导航到 root 时,我的 NavigationPage 顶部会出现默认标题?