无法更改导航栏背景色Xamarin表单

时间:2019-02-08 12:15:19

标签: xamarin xamarin.forms

我已经尝试更改导航栏的背景色,但是它不起作用。

<ResourceDictionary>
            <Style TargetType="NavigationPage">
                <Setter Property="BarBackgroundColor" Value="#6eb43a"/>
                <Setter Property="BackgroundColor" Value="#6eb43a"/>
            </Style>
        </ResourceDictionary>

BarBackgroundColor =不起作用 BackgroundColor =工作中

所以当我使用BackgroundColor时(问题是它也会改变背景色),那么它将影响导航背景,但BarBackgroundColor无法正常工作。 有什么解决方案可以全局更改BarBackground的颜色,以使其影响整个项目?

4 个答案:

答案 0 :(得分:1)

对于使用新Xamarin.Forms.Shell布局的用户,您可以通过直接在Shell节点上设置背景颜色来做到这一点

<Shell BackgroundColor="#FFFFFF">...

这将顺着层次结构向下流动,您可以根据需要在子节点上覆盖它。

答案 1 :(得分:0)

尝试从后面的代码中进行更改:

MainPage = new NavigationPage(new MainPage())
            {
                BarBackgroundColor = Color.FromHex("#6eb43a"),
                BarTextColor = Color.Black,
            };

barbackgroundcolor

答案 2 :(得分:0)

尝试 在InitializeComponent()之后;

(((NavigationPage)Application.Current.MainPage).BarBackgroundColor = Color.White;

OR

(((NavigationPage)Application.Current.MainPage).BarBackgroundColor = Color.FromHex(“#2196f3”);

它将更改所有页面的导航栏颜色。

答案 3 :(得分:0)

您已经在App.Xaml中编写了样式。现在,您只需要在ContentPage xaml文件中调用该样式,即可为所有页面设置该样式。

 Style="{DynamicResource NavigationPage}"

让我知道这是否对您有帮助。