如何在 Xamarin 中更改 MasterMainPage 的 NavBar 颜色
How to change NavBar colour of MasterMainPage in Xamarin
我正在构建 Xamarin 跨平台应用程序!
问题是我想更改 MainPage
的 NavigationBar
的颜色,其中 MasterPage
带有抽屉菜单。
我尝试使用此代码更改颜色,但我不想在 NavBar 上出现一个额外的栏。
App.xaml.cs:
MainPage = new NavigationPage(new MainPage())
{
BarBackgroundColor = Color.FromHex("#00477f"),
BarTextColor = Color.White,
};
屏幕截图:
这些屏幕截图显示了我面临的问题!
NavigationPage 具有您可以设置的 BarBackgroundColor 属性。
var nav = new NavigationPage(new ContentPage { Title = "Page" } );
nav.BarBackgroundColor = Color.Blue;
在这里,当您分配 App.xaml
的 MainPage
、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 跨平台应用程序!
问题是我想更改 MainPage
的 NavigationBar
的颜色,其中 MasterPage
带有抽屉菜单。
我尝试使用此代码更改颜色,但我不想在 NavBar 上出现一个额外的栏。
App.xaml.cs:
MainPage = new NavigationPage(new MainPage())
{
BarBackgroundColor = Color.FromHex("#00477f"),
BarTextColor = Color.White,
};
屏幕截图: 这些屏幕截图显示了我面临的问题!
NavigationPage 具有您可以设置的 BarBackgroundColor 属性。
var nav = new NavigationPage(new ContentPage { Title = "Page" } );
nav.BarBackgroundColor = Color.Blue;
在这里,当您分配 App.xaml
的 MainPage
、NavigationPage
时,它显示它自己的 NavigationBar。在引擎盖下,您的 MasterDetailPage
还显示 NavigationBar。因此,您正在查看两个 NavigationBar。
转到您的 MainPage.xaml.cs
后端页面并在构造函数中写入以下行:
NavigationPage.SetHasNavigationBar(this, false);
因此,您的 MainPage.xaml.cs
应该如下所示:
public MainPage()
{
NavigationPage.SetHasNavigationBar(this, false);
InitializeComponent();
......
}
这将隐藏 MasterDetailPage 的 NavigationBar。