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

问题描述 投票:2回答:2

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

问题是我想改变NavigationBarMainPage的颜色,这是MasterPage,里面有一个抽屉菜单。

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

App.xaml.cs:

  MainPage = new NavigationPage(new MainPage())

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

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

https://i.stack.imgur.com/fbXie.png

https://i.stack.imgur.com/vuA1A.png

xamarin.forms cross-platform navbar background-color
2个回答
2
投票

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

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

NavigationPage.SetHasNavigationBar(this, false);

因此,你的MainPage.xaml.cs应该是这样的:

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

这将隐藏MasterDetailPage的导航栏。


0
投票

NavigationPage具有可以设置的BarBackgroundColor属性。

Referred this

var nav = new NavigationPage(new ContentPage { Title = "Page" } );
nav.BarBackgroundColor = Color.Blue;
© www.soinside.com 2019 - 2024. All rights reserved.