Xamarin.Forms 4 URI路线导航

时间:2019-04-15 14:18:10

标签: xamarin.forms

我试图抢先使用Xamarin.Forms 4的预发布版本,并且遇到了一些包含了导航功能的障碍。从Microsoft文档中可以看到:

  

Shell包含基于URI的导航体验。 URI提供了改进的导航体验,允许导航到应用程序中的任何页面,而不必遵循设置的导航层次结构。此外,它还具有向后导航的功能,而无需访问导航堆栈上的所有页面。

我已经能够设置我的Shell文件并设置我的Route名称。以下代码可以正常工作,并引导我进入相应的Page

private async void NavigateToAbout_Execute()
{
    await (App.Current.MainPage as Shell).GoToAsync("app://Testapp/Test/modal");
}

问题:

一旦我成功导航到此Page,似乎我就无法离开Page。在上面的引用中,它指出我们应该具有向后导航(到上一个Page的能力),但是我看不到任何实现此目的的方法。有人对此有经验吗?我很欣赏这是一个预发布版本,所以我可能没有得到任何答复,但是任何想法都会有所帮助。

1 个答案:

答案 0 :(得分:1)

我有同样的问题。现在看来还可以。这项工作对我来说:

await Shell.Current.Navigation.PopAsync();

您还可以查看此变量:

Shell.Current.Navigation.NavigationStack

这是一个列表,其中所有详细信息页面都被推入外壳中定义的页面之上/之内。
我已经看到,该列表中的0索引始终为null。它代表外壳程序的最后一页。使用shell.Current.GotoAsync("detailpage")添加到外壳程序的“详细”页面从NavigationStack中的索引1到n。