我一直试图在没有运气的情况下更改Xamarin.Forms中后退按钮的文本。
我已经尝试过这段代码而没有运气:
NavigationPage.SetBackButtonTitle(this, "");
我正在使用MasterDetailPage
。
我尝试将代码添加到XAML cs文件的构造函数中。
使用的库:PRISM 6.2.0,Xamarin Forms 2.3.1.114
有任何建议或想法吗?
提前致谢
答案 0 :(得分:18)
由于topic:
有关此API的一点不直观的事情是,您正在设置后退按钮的标题,该页面将显示此页面是您要返回的页面。例如,您正尝试将标题设置为" Home"。这意味着你应该在代表" home"的页面上调用这个方法。页面,而不是显示" Home"的后退按钮时可见的页面。正在展示。
因此,如果您要从Page1
导航到Page2
,则应在NavigationPage.SetBackButtonTitle(this, "")
的构造函数中设置Page1
,在Page2
上设置为{{1}}后退标题。
答案 1 :(得分:5)
您必须将上一页的Backbutton标题设置为string.Empty
。默认情况下,它是导航堆栈上显示为后退按钮文本的上一页的标题。
Android也不支持此属性。
答案 2 :(得分:5)
迟来的答案,但也许有人会发现这对将来很有用......无论如何,如果你想摆脱XAML的后退按钮标题,你可以为任何NavigationPage.BackButtonTitle=""
添加ContentPage
删除了标题,或者您可以在ContentPage
文件中定义新的App.xaml
样式,如下所示:
<Style x:Key="ContentPageStyle" TargetType="ContentPage">
<Setter Property="BackgroundColor" Value="White" /><!-- just an example of other things that can be in here -->
<Setter Property="NavigationPage.BackButtonTitle" Value="" />
</Style>
然而,我无法将其变为隐式全局样式,无需为每个Style="{StaticResource ContentPageStyle}"
指定ContentPage
而自动应用 - 我不知道为什么不起作用。
答案 3 :(得分:4)
您也可以从当前xaml页面的Code Behind执行此操作
public TodoPage()
{
InitializeComponent();
NavigationPage.SetBackButtonTitle(this, "Back");
}
NB :必须在您要设置的上一页上完成。
e.g。如果您希望页面B显示“后退”标题,则页面A必须包含代码。
答案 4 :(得分:0)
您可以在ContentPage上设置属性NavigationPage.BackButtonTitle
例如:
<?xml version="1.0" encoding="utf-8"?> <ContentPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" xmlns:d="http://xamarin.com/schemas/2014/forms/design" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:local="clr-namespace:T3R" mc:Ignorable="d" Title="Title of Page" NavigationPage.BackButtonTitle="Cancel" x:Class="T3R.MainPage">
记住以下内容:
答案 5 :(得分:0)
您可以按以下步骤(在ContentPage.Content之前)在XAML中设置后退按钮文本:
<NavigationPage.TitleView>
<Label Text="{Binding PageTitle}" HorizontalOptions="Center"/>
</NavigationPage.TitleView>