如何进入 Shell 页面并离开菜单按钮?

问题描述

如果我从 Shell 菜单项导航到其他页面,那么我可以选择再次打开拉出式菜单。 如果我从里面的代码转到页面,那么左上角菜单按钮就不再存在了。

 await Shell.Current.GoToAsync("step");

如何从代码中打开一个页面,打开的页面中的 shell 菜单按钮是什么?

解决方法

如果您导航到作为 Shell 视觉层次结构一部分存在的页面并注册如下所示的路由。

  <ShellContent
        Title="Page1"
        ContentTemplate="{DataTemplate local:Page1}"
        Icon="tab_about.png"
        Route="about" />

它可以使用如下参数导航。

 await Shell.Current.GoToAsync("//about");

当您导航时,汉堡包图标仍然存在。

如果您导航到 Shell 视觉层次结构中不存在的页面并使用 Routing.RegisterRoute 进行注册,它将覆盖所有页面并且不会显示汉堡包图标。但是您可以使用左上角的后退按钮返回 Shell。

  Routing.RegisterRoute("step",typeof(Page2));