如何在 Xamarin 中更改 MasterMainPage 的 NavBar 颜色

Posted

技术标签:

【中文标题】如何在 Xamarin 中更改 MasterMainPage 的 NavBar 颜色【英文标题】:How to change NavBar colour of MasterMainPage in Xamarin 【发布时间】:2019-08-22 14:11:37 【问题描述】:

我正在构建一个 Xamarin 跨平台应用程序!

问题是我想更改MainPageNavigationBar 的颜色,即MasterPage,其中包含抽屉菜单。

我尝试使用此代码更改颜色,但 NavBar 上出现了一个额外的栏,我不想这样做。

App.xaml.cs:

  MainPage = new NavigationPage(new MainPage())

        
            BarBackgroundColor = Color.FromHex("#00477f"),
            BarTextColor = Color.White,
        ;

屏幕截图: 这些屏幕截图显示了我面临的问题!

【问题讨论】:

将您的 (new MainPage()) 更改为其他页面名称 MainPage = new NavigationPage(new HomePage()) BarBackgroundColor = Color.FromHex("#00477f"), BarTextColor = Color.White, ; @Narendra Sharma 我也试过,但这会影响主抽屉菜单。更改为其他页面名称后抽屉菜单消失。 【参考方案1】:

NavigationPage 有一个可以设置的 BarBackgroundColor 属性。

Referred this

var nav = new NavigationPage(new ContentPage  Title = "Page"  );
nav.BarBackgroundColor = Color.Blue;

【讨论】:

【参考方案2】:

在这里,当您分配App.xamlMainPage,一个NavigationPage,它显示它自己的NavigationBar。在引擎盖下,您的 MasterDetailPage 还显示 NavigationBar。因此,您正在查看两个 NavigationBar。

转到您的MainPage.xaml.cs 后端页面并在构造函数中写入以下行:

NavigationPage.SetHasNavigationBar(this, false);

因此,您的 MainPage.xaml.cs 应如下所示:

public MainPage()

    NavigationPage.SetHasNavigationBar(this, false);
    InitializeComponent();
    ......

这将隐藏 MasterDetailPage 的 NavigationBar。

【讨论】:

以上是关于如何在 Xamarin 中更改 MasterMainPage 的 NavBar 颜色的主要内容,如果未能解决你的问题,请参考以下文章