我是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页面上。但是怎么样?我该怎么做才能解决这个问题?
答案 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的主题中指定它,以便它为您提供材料样式。
论坛已经进行了大量的讨论。