【问题标题】:How to change NavBar colour of MasterMainPage in Xamarin如何在 Xamarin 中更改 MasterMainPage 的 NavBar 颜色
【发布时间】:2023-03-20 00:09:01
【问题描述】:

我正在构建一个 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 我也试过,但这会影响主抽屉菜单。更改为其他页面名称后抽屉菜单消失。

标签: xamarin.forms cross-platform navbar background-color


【解决方案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。

    【讨论】:

      猜你喜欢
      • 2017-07-06
      • 2023-01-24
      • 2019-04-29
      • 1970-01-01
      • 1970-01-01
      • 2023-01-12
      • 2012-03-11
      • 1970-01-01
      • 2016-09-27
      相关资源
      最近更新 更多