我有一个相当线性的Prism / Xamarin.Forms应用程序,我遇到导航问题。如果用户打开应用程序并且已经开始了一些工作,我需要跳过这样的几页:
navigationService.NavigateAsync("NavigationPage/pageA/pageB");
我在" RegisterTypes"中注册了NavigationPage类型。我的PrismApplication方法继承了类。页面B显示导航/标题栏就好了。
On" pageB"是用于将用户带到其他页面的一些按钮。根据用户过去的使用情况,这些按钮可能会将用户带到pageC,并带有一个参数,如下所示:
navigationService.NavigateAsync("pageC?mode=x");
在这种情况下,pageC正确显示带有后退箭头,页面标题和toolbaritems的导航栏。
或者他们可能会跳过pageC并直接转到pageD或pageE,如下所示:
navigationService.NavigateAsync("pageC/pageD");
这会使导航堆像这样:
/NavigationPage/pageA/pageB/pageC/pageD
在这种情况下,pageD不会显示任何导航栏,标题,工具栏项等。除了使用绝对URI重建整个导航堆栈之外,我没有尝试过任何操作。
我应该提一下,我已经尝试过明确地设置" useModalNavigation"在上次调用中,NavigateAsync方法的参数为false,并且不起作用。
我不知道我做错了什么。
我正在使用Prism 6.3(Unity),Xamarin Forms 2.4,VS for Mac v7.2.2 with Xamarin.Android 8
谢谢, 马修