首页 文章

如何更改Xamarin.Forms上的后退按钮文本

提问于
浏览
2

我一直试图在没有运气的情况下更改Xamarin.Forms中后退按钮的文本 .

我已经尝试过这段代码而没有运气:

NavigationPage.SetBackButtonTitle(this, "");

我正在使用 MasterDetailPage .

我试图将代码添加到XAML cs文件的构造函数中 .

使用的库:PRISM 6.2.0,Xamarin Forms 2.3.1.114

有什么建议或想法吗?

提前致谢

4 回答

  • 5

    您必须将上一页的Backbutton Headers 设置为 string.Empty . 默认情况下,它是导航堆栈上显示为后退按钮文本的上一页的 Headers .

    Android也不支持此属性 .

  • 2

    由于topic

    关于此API有点不直观的事情之一就是您正在设置后退按钮的 Headers ,该页面显示在您要返回的页面时 . 例如,您正尝试将 Headers 设置为“Home” . 这意味着您应该在代表“主页”页面的页面上调用此方法,而不是在显示“主页”的后退按钮时可见的页面 .

    因此,如果您从 Page1 导航到 Page2 ,则应在 Page1 的构造函数中设置 NavigationPage.SetBackButtonTitle(this, "") ,在 Page2 上,您将看到后退按钮的空 Headers .

  • 3

    迟来的答案,但也许有人会发现这在将来有用...无论如何,如果你想摆脱XAML的后退按钮 Headers ,你可以添加 NavigationPage.BackButtonTitle="" 任何 ContentPage 应删除 Headers 或你可以定义新的 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>
    

    但是,我无法将其转换为隐式全局样式,可以自动应用,而无需为每个 ContentPage 指定 Style="{StaticResource ContentPageStyle}" .

  • 13

    您也可以从当前xaml页面的Code Behind执行此操作

    public TodoPage()
    {
        InitializeComponent();
        NavigationPage.SetBackButtonTitle(this, "Back");
    }
    

    NB :必须在您要设置的上一页上完成 .

    例如如果您希望页面B显示“后退” Headers ,则页面A必须包含代码 .

相关问题