假设应用程序的第一页是登录页面,然后它会带我进入主菜单页面,有没有一种方法可以去掉主菜单导航栏中的返回按钮,比如说去掉登录页面的堆栈?
谢谢。
谢谢。
NavigationPage.SetHasBackButton(this, false);
在 Xaml
中,你可以添加:
<ContentPage ....NameSpaces etc....
NavigationPage.HasBackButton="False"
Title="MyPage">
</ContentPage>
XAML
的方法。 - JKennedyNavigationPage.SetHasNavigationBar(this, false);
。 - jbyrdNavigationPage.HasBackButton="False"
在 Visual Studio 中编译成功并且运行良好。 - Mohan Perera如果您在登录页面的代码中将Navigation.PushAsync(page)
替换为Navigation.PushModalAsync(page)
,则可以避免出现“返回”按钮。如果这不适用于您,请发布一些代码。
这与底层操作系统中导航的工作方式有关(至少在iOS中是这样)-有一个导航控制器,用于页面之间的转换,并具有先前屏幕的跟踪,以便用户可以返回。
有两种方法可以取消“返回”按钮:
1)您可以使用以下代码从Xaml中删除导航栏,使用Xamarin.Forms实现。
NavigationPage.SetHasNavigationBar (this, false);
this
指当前页面/表单实例。
2)按照以下步骤进行操作:
ContentPage
登录页实例加载时,导航到登录页。PushModalAsync
从登录页导航到主页,并提供主页实例作为NavigationPage
。希望这可以帮助你!
NavigationPage.HasBackButton="False"
。 - Sadra M.public override void ViewWillAppear (bool animated)
{
base.ViewWillAppear (animated);
this.ParentViewController.NavigationItem.SetHidesBackButton (true, false);
//remember to use ParentViewController to reference to the NavigationViewController (if your contentPage is direct under a navigation controller. I don't know why but Xamarin must have a bug with SetHidesBackButton. If you call with this.NavigationItem.SetHidesBackButton(...), it should not work.
... other implements here ...
}