1

我在 Xamarin Forms 应用程序中使用来自 VS2019 的 Shell 模板。我在 shell 弹出窗口中列出了两个页面。

<FlyoutItem Title="Home" Icon="icon_about.png">
       <ShellContent Route="HomePage" ContentTemplate="{DataTemplate local:HomePage}" />
</FlyoutItem>
<FlyoutItem Title="Logoff time" Icon="icon_about.png">
       <ShellContent  Route="SecondPage" ContentTemplate="{DataTemplate 
        local:SecondPage}" />
</FlyoutItem>

使用汉堡菜单,我从主页导航到另一个页面 SecondPage。我在 SecondPage 上有一个按钮,它执行一个操作,我想从该操作导航回主页。当我使用此代码时:

var route = $"{nameof(HomePage)}";
await Shell.Current.GoToAsync(route);

主页显示,但有一个后退按钮而不是汉堡菜单。如果我点击汉堡图标,页面将导航回 SecondPage。如何从 SecondPage 导航到 HomePage 并显示汉堡图标?

4

2 回答 2

1

信息如此之少(不知道如何实现导航的详细信息)很难为您提供帮助。但是首先想到的是您可以尝试的以下内容。

尝试以下方法之一来弹出 SecondPage 并导航回:

await Shell.Current.Navigation.PopAsync();

或者

await Shell.Current.Navigation.PopModalAsync();

如果您有一个不想要的带有后退按钮的导航栏,请在 HomePage.xaml 中尝试此操作

NavigationPage.HasNvaigationBar="False"

或者

Shell.NavBarIsVisible="False"
于 2021-04-09T09:01:43.723 回答
1

他们俩

//

在路线完成我的目标之前。这显然会重置根页面,因此 HomePage 再次成为根页面。

var route = $"//{nameof(HomePage)}"
于 2021-04-09T17:30:13.330 回答