c# - .NET MAUI Shell - 导航后显示汉堡包图标

标签 c# xamarin maui

我有几个关于显示弹出窗口的汉堡包图标和转到上一页的问题。

我在 Visual Studio 中创建了默认应用并添加了第二个页面

enter image description here

我在AppShell.xaml.cs中注册了第二个页面

Routing.RegisterRoute(nameof(SecondPage), typeof(SecondPage));

在 MainPage.xaml 中,我添加了一个按钮,按下该按钮会将用户发送到第二页

await Shell.Current.GoToAsync(nameof(SecondPage), true);

这一切都有效。 但是,虽然在第一页上我们可以看到汉堡包图标 enter image description here

当点击按钮到达第二页时,我们看到一个后退按钮,没有汉堡包图标

enter image description here

您仍然可以从左侧滑动以显示 Flyout 但 如何在第二页显示汉堡包图标?

我的第二个问题是我是否在 Flyout - AppShell.xaml 中添加指向第二页的链接

<ShellContent
        Title="Second Page"
        ContentTemplate="{DataTemplate local:SecondPage}"
        Route="SecondPage" />

点击后我们会看到汉堡包图标

enter image description here

但没有后退按钮,如果您使用 Android 的后退按钮单击后退,则会退出应用程序。所以,我的第二个问题是如何让点击菜单的行为像点击按钮一样。

最佳答案

那是因为弹出按钮执行绝对路由,而您的代码执行相对路由并维护导航堆栈。

如果您想以编程方式获得相同的行为,则需要切换到绝对路由。

await Shell.Current.GoToAsync($"//{nameof(SecondPage)}");

the. NET MAUI documentation 中阅读有关 Shell 导航的更多信息

关于c# - .NET MAUI Shell - 导航后显示汉堡包图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73605682/

相关文章:

c# - 从 Xamarin 中的 Parse 同步获取对象

xamarin.ios - 无法从 "Microsoft.Win32.RegistryKey"解析 "mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"引用 (MT2002)

maui - FlexLayout 中的行间距是否固定?

ios - Visual Studio 不会在 Debug模式下将配置文件应用于 MAUI iOS 应用程序

c# - .Net Maui - 如何返回根页面

c# - 为什么我的背景颜色在 ComboBox 中不起作用

C# XNA - 用于 tilemap 的 int[,] 数组或 Tile[,] 数组

c# - 我想每分钟运行一个从我的 OnAppearing() 开始的方法。我需要将其作为任务运行吗?

c# - lock() 语句会阻塞进程/应用程序域中的所有线程吗?

c# - 如何重构类似的方法以消除重复的设置和异常处理?