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

Posted

技术标签:

【中文标题】如何在 Xamarin 中更改 MasterMainPage 的 NavBar 颜色【英文标题】:How to change NavBar colour of MasterMainPage in Xamarin 【发布时间】:2019-08-22 14:11:37 【问题描述】:

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

问题是我想更改MainPageNavigationBar 的颜色,即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.xamlMainPage,一个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 表单中更改搜索栏取消按钮图像

如何在 xamarin 表单中更改视觉材料 DatePickerDialog 和 TimePickerDialog 背景颜色

如何更改 Xamarin UWP 应用名称

如何在 Xamarin UWP 中更改 CommandBar Title 字体大小

如何在 Shell TabbedPage 应用程序、Xamarin 表单中更改图标和文本大小