Xamarin.forms 如何在Xamarin中更改MasterMainPage的导航栏颜色

Xamarin.forms 如何在Xamarin中更改MasterMainPage的导航栏颜色,xamarin.forms,cross-platform,navbar,background-color,Xamarin.forms,Cross Platform,Navbar,Background Color,我正在构建一个Xamarin跨平台应用程序 问题是我想更改主页的导航栏的颜色,这是母版,其中有一个抽屉菜单 我尝试使用此代码更改颜色,但导航栏上出现了一个额外的栏,我不想这样做 App.xaml.cs: MainPage = new NavigationPage(new MainPage()) { BarBackgroundColor = Color.FromHex("#00477f"), BarTextColor = Col

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

问题是我想更改
主页
导航栏
的颜色,这是
母版
,其中有一个抽屉菜单

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

App.xaml.cs:

  MainPage = new NavigationPage(new MainPage())

        {
            BarBackgroundColor = Color.FromHex("#00477f"),
            BarTextColor = Color.White,
        };
屏幕截图: 这些截图显示了我面临的问题


导航页面有一个BarBackgroundColor属性,您可以设置该属性


在这里,当您分配
App.xaml
MainPage
,一个
NavigationPage
,它会显示自己的导航栏。在引擎盖下,您的
MasterDetailPage
也会显示导航栏。因此,您正在查看两个导航栏

转到
MainPage.xaml.cs
backend页面,在构造函数中写下以下行:

NavigationPage.SetHasNavigationBar(this, false);
因此,您的
MainPage.xaml.cs
应该如下所示:

public MainPage()
{
    NavigationPage.SetHasNavigationBar(this, false);
    InitializeComponent();
    ......
}

这将隐藏MasterDetailPage的导航栏。

将您的(新主页())更改为其他页面名称MainPage=new NavigationPage(新主页()){BarBackgroundColor=Color.FromHex(“#00477f”),BarTextColor=Color.White,}@Narendra Sharma我也尝试过,但这会影响主抽屉菜单。更改为其他页面名称后,抽屉菜单消失。
public MainPage()
{
    NavigationPage.SetHasNavigationBar(this, false);
    InitializeComponent();
    ......
}