Xamarin表单 - 在Nav Bar中摆脱后退按钮

use*_*879 28 xamarin.forms

让我们说应用程序中的第一页是登录页面然后它需要我做主菜单屏幕,有没有办法摆脱主菜单导航栏中的后退按钮,就像摆脱登录页面堆栈?

谢谢

use*_*er1 62

在Xamarin.Forms 1.3和更高版本中,您可以使用

NavigationPage.SetHasBackButton(this, false);
Run Code Online (Sandbox Code Playgroud)

Xaml你可以添加:

<ContentPage ....NameSpaces etc....
    NavigationPage.HasBackButton="False"
    Title="MyPage">
</ContentPage>
Run Code Online (Sandbox Code Playgroud)


Ste*_*rov 12

如果替换登录页面代码中的Navigation.PushAsync(page)to Navigation.PushModalAsync(page),则可以避免使用"后退"按钮.如果某种方式不适用,请发布一些代码

这与底层操作系统中的导航工作方式有关(至少在iOS中是这样) - 有一个导航控制器,用于页面之间相互转换,并具有前一个屏幕的痕迹,以便用户可以返回.

  • 如果我想让导航栏有工具栏项目怎么办? (2认同)

Nir*_*hta 6

有两种摆脱后退按钮的方法:
1)您可以使用Xamarin.Forms使用以下代码从Xaml中删除导航栏

NavigationPage.SetHasNavigationBar (this, false);
Run Code Online (Sandbox Code Playgroud)

其中this代表当前页面/表单实例。

2)遵循以下提到的步骤

  • 当应用程序以“登录页面”的“普通” ContentPage实例加载时,导航到登录页面
  • 使用“登录”页面导航到“主页”,PushModalAsync并提供主页实例为NavigationPage
  • 然后在所有其他页面上,您可以使用PushAsync,它将使您导航到所有页面而没有任何错误。

希望这可以帮助!

  • 您还可以在 ContentPages XAML 中执行 `NavigationPage.HasBackButton="False"` (2认同)