如何在Xamarin.Forms中为导航栏设置后退按钮的标题?

时间:2015-11-20 18:38:19

标签: ios xamarin.forms

我必须在几页中删除后退按钮上的标题。我试过这个代码,它工作正常。

private void OnBtn ()
    {           
        var nav = (Page)ViewFactory.CreatePage<DebugViewModel, DebugPage> ();
        NavigationPage.SetHasNavigationBar (nav, true);
        NavigationPage.SetHasBackButton (nav, true);
        NavigationPage.SetBackButtonTitle (nav, "");
        ((MasterDetailPage)App.Current.MainPage).Detail.Navigation.PushAsync (nav);
    }

但是在代码的其他地方,我有这个并且它没有将标题设置为空字符串。

this.SettingsPageCommand = new Command (() => {
            this.IsBusy = true;
            NavigationPage.SetHasNavigationBar (settingsPage, true);
            NavigationPage.SetHasBackButton (settingsPage, true);
            NavigationPage.SetBackButtonTitle(settingsPage, "");
            ((MasterDetailPage)App.Current.MainPage).Detail.Navigation.PushAsync (settingsPage);
            //((MasterDetailPage)App.Current.MainPage).IsPresented = false;
            this.IsBusy = false;
        }, () => !this.IsBusy);

我试图避免制作渲染器,因为我希望保留尽可能多的共享代码。

有什么想法吗?

谢谢!

2 个答案:

答案 0 :(得分:2)

@ hrishi的回答是正确的,但是如果您希望标题栏(this.Title)中显示的文本不同于后续页面上的“后退”按钮文本所示,您可以选择调用以下方法。你可以在后面按钮标题应该不同的页面的构造函数中调用它:

NavigationPage.SetBackButtonTitle(this,&#34; CustomText&#34;);

通常我只设置标题,除非在显示后退按钮时需要不同(例如:较短文本),在这种情况下,我设置了两个标题并使用备用后退按钮文本调用上述方法。

答案 1 :(得分:1)

内容页面的标题属性在下一页用作后退按钮的标题。

尝试设置此。标题=&#34;&#34;在设置页面的上一页