如何在 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");
通常我只设置标题,除非它在显示后退按钮时需要不同(例如:较短的文本),在这种情况下,我设置两个标题并使用备用后退按钮文本调用上述方法。
我必须删除几个页面中后退按钮上的标题。我试过这段代码,它工作正常。
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");
通常我只设置标题,除非它在显示后退按钮时需要不同(例如:较短的文本),在这种情况下,我设置两个标题并使用备用后退按钮文本调用上述方法。