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

How do I set the title for the back button on a Nav Bar in 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);

我尽量避免制作渲染器,因为我想保留尽可能多的共享代码。

有什么想法吗?

谢谢!

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

尝试在设置页面的上一页设置 this.Title=""

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

NavigationPage.SetBackButtonTitle(这个,"CustomText");

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