Xamarin表单NavigationPage BarBackgroundcolor在每个页面上看不到相同的内容

时间:2016-08-03 16:10:38

标签: xamarin xamarin.ios xamarin.android xamarin.forms

我是Xamarin Forms的新手。我在MasterDetailPage中使用NavigationPage BarBackgroundcolor时遇到了麻烦。它在每个页面上看不到相同的内容。那是Xamarin Forms Portable项目和我的代码;

<?xml version="1.0" encoding="UTF-8"?>
<MasterDetailPage xmlns="http://xamarin.com/schemas/2014/forms" 
                  xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" 
                  xmlns:local="clr-namespace:MasterDetailPageNavigation;assembly=MasterDetailPageNavigation"
                  x:Class="MasterDetailPageNavigation.MainPage">
  <MasterDetailPage.Master>
    <local:MasterPage x:Name="masterPage" BackgroundColor="#fe5722" />
  </MasterDetailPage.Master>
    <MasterDetailPage.Detail>
        <NavigationPage BarBackgroundColor="#fe5722" BarTextColor="White">
            <x:Arguments>
                <local:HomePage />
            </x:Arguments>
        </NavigationPage>
    </MasterDetailPage.Detail>
</MasterDetailPage>

我猜它可能在App页面上。但是怎么样?我该怎么做才能解决这个问题?

2 个答案:

答案 0 :(得分:1)

我修复了我的代码,问题解决了。我在MainPage.xaml.cs上设置了Barbackgroundcolor

var item = e.SelectedItem as MasterPageItem;
        if (item != null) {
            Detail = new NavigationPage((Page)Activator.CreateInstance(item.TargetType)) 
            { BarTextColor=Color.White,BarBackgroundColor=Color.FromHex("fe5722") };
            masterPage.ListView.SelectedItem = null;
            IsPresented = false;
        }

答案 1 :(得分:0)

您必须将主页面的BackgroundColor设置为显示在导航栏中。也可以在android的主题中指定它,以便它为您提供材料样式。

论坛已经进行了大量的讨论。