如何在 Xamarin 中更改 MasterMainPage 的 NavBar 颜色
Posted
技术标签:
【中文标题】如何在 Xamarin 中更改 MasterMainPage 的 NavBar 颜色【英文标题】:How to change NavBar colour of MasterMainPage in Xamarin 【发布时间】:2019-08-22 14:11:37 【问题描述】:我正在构建一个 Xamarin 跨平台应用程序!
问题是我想更改MainPage
的NavigationBar
的颜色,即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.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 中更改 MasterMainPage 的 NavBar 颜色的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Xamarin.Forms.Maps(无 Xamarin.Forms.GoogleMaps)在地图中应用样式或更改颜色
如何在 xamarin 表单中更改视觉材料 DatePickerDialog 和 TimePickerDialog 背景颜色