我正在构建一个Xamarin跨平台应用程序!
问题是我想改变NavigationBar
的MainPage
的颜色,这是MasterPage
,里面有一个抽屉菜单。
我尝试使用此代码更改颜色,但NavBar上出现了一个额外的栏,我不想这样做。
App.xaml.cs:
MainPage = new NavigationPage(new MainPage())
{
BarBackgroundColor = Color.FromHex("#00477f"),
BarTextColor = Color.White,
};
ScreenShots:这些截图显示了我面临的问题!
在这里,当你指定App.xaml
的MainPage
,一个NavigationPage
时,它会显示它自己的NavigationBar。在引擎盖下,您的MasterDetailPage
还会显示NavigationBar。因此,您正在查看两个NavigationBars。
转到MainPage.xaml.cs
后端页面,在构造函数中,写下以下行:
NavigationPage.SetHasNavigationBar(this, false);
因此,你的MainPage.xaml.cs
应该是这样的:
public MainPage()
{
NavigationPage.SetHasNavigationBar(this, false);
InitializeComponent();
......
}
这将隐藏MasterDetailPage的导航栏。
NavigationPage具有可以设置的BarBackgroundColor属性。
var nav = new NavigationPage(new ContentPage { Title = "Page" } );
nav.BarBackgroundColor = Color.Blue;