【发布时间】:2021-04-23 21:32:48
【问题描述】:
我在 Xamarin Shell v5 应用程序中指定了一个简单的页面结构。我有一个带有以下结构的弹出项的弹出项:
<FlyoutItem FlyoutDisplayOptions="AsMultipleItems">
<ShellContent>
<local:MainPage...
</ShellContent>
<ShellContent>
<local:Page1...
</ShellContent>
<ShellContent>
<local:Page2...
</ShellContent>
</FlyoutItem>
当我启动应用程序时,MainPage 显示为默认值。到目前为止一切顺利。
浮出控件显示三个页面。也不错。
当我点击 Page2 弹出按钮时,那个页面会显示出来。但是没有创建导航堆栈,这意味着它还会显示汉堡菜单(而不是汉堡图标所在的后退按钮)。
我想让 Page2 成为“子页面”(导航方面),这样当用户点击 Page2 弹出按钮时,顶部会显示一个返回按钮,以便用户返回主页。
我一直在前后阅读文档,但无法弄清楚如何在可视外壳层次结构中执行此操作。 我认为它与路由有关,但我不确定如何指定路由,以便 Page2 成为“子页面”(或任何单词)。
有人知道怎么做吗?这适用于 iOS 和 Android。
我不希望标签显示在屏幕底部,就像我在许多示例中看到的那样。只是一个整洁、干净的弹出菜单。
【问题讨论】:
-
我知道我可以改用菜单项,并且在每个菜单项的回调中我可以调用
Shell.Current.GoToAsync(.....),它会通过正确的路线将页面推送到导航堆栈上。我可能只需要这样做,但我很好奇这是否可以单独使用 flyoutitems 来完成。
标签: c# xaml xamarin xamarin.forms xamarin.forms.shell