后退按钮在多层导航中的 Shell 导航 Xamarin MAUI 中不起作用

Sou*_*ria 2 xamarin.forms maui .net-maui.shell

当我尝试导航到多层导航时,后退按钮不起作用。

假设首先进入“仪表板”页面,然后进入“动物”页面,然后如果我尝试后退按钮,它工作正常,但如果我深入“猫”页面,然后尝试后退按钮,它就不起作用。我检查了 Windows 和 Android 设备。

1.<ShellContent Title="Home" ContentTemplate="{DataTemplate page:DashBoard}" Route="DashBoard" />

2.await Shell.Current.GoToAsync("animals");

3.await Shell.Current.GoToAsync("cats");

我在这里缺少什么吗,请帮助我。

Sou*_*ria 9

好吧,我知道问题出在哪里了,就是这个——

<ShellContent Title="Home" ContentTemplate="{DataTemplate page:DashBoard}" Route="DashBoard" />
Run Code Online (Sandbox Code Playgroud)

但它需要是这样的 -

<ShellContent Title="Home" ContentTemplate="{DataTemplate page:DashBoard}" />
Run Code Online (Sandbox Code Playgroud)

所以主要问题是我 Route="DashBoard"在 Xaml 中声明我也在 cs 中注册,就像这样 - Routing.RegisterRoute(nameof(DashBoard), typeof(DashBoard))这会产生歧义。

  • 这个答案非常好,我认为 MUAI 在这种情况下应该抛出冲突异常。 (3认同)