当我的应用加载时,TitleView BackgroundColor在menu.png图标之后开始。我只能在选择其中一个设置了detailPage.BarBackgroundColor的菜单项之一后才能使其工作。
反正在mainpage.xml或menupage.xaml中设置此颜色吗?
Mainpage.xaml
<pages:MenuPage x:Name="menuPage"/>
</MasterDetailPage.Master>
<MasterDetailPage.Detail>
<NavigationPage BackgroundColor="#22335c">
<x:Arguments>
<pages:HomePage />
</x:Arguments>
</NavigationPage>
</MasterDetailPage.Detail>
Mainpage.xaml.cs 这只会设置颜色
var detailPage = new NavigationPage((Page)Activator.CreateInstance(item.TargetType));
detailPage.BarBackgroundColor = Color.FromHex("#22335c");
MenuPage.xaml
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="Pages.MenuPage"
xmlns:telerikPrimitives="clr-namespace:Telerik.XamarinForms.Primitives;assembly=Telerik.XamarinForms.Primitives"
xmlns:telerik="clr-namespace:Telerik.XamarinForms.DataControls;assembly=Telerik.XamarinForms.DataControls"
xmlns:model="clr-Model"
xmlns:page="clr-Pages"
Title="Menu" Icon="menu.png" BackgroundColor="#22335c" >
<Grid>
homepage.xaml
<NavigationPage.TitleView>
<StackLayout Orientation="Horizontal" BackgroundColor="#22335c" >
<Label Text="App" HorizontalOptions="FillAndExpand" VerticalOptions="CenterAndExpand" BackgroundColor="#22335c" TextColor="White" HorizontalTextAlignment="Center" />
</StackLayout>
</NavigationPage.TitleView>
答案 0 :(得分:1)
首先,如果您想要白色背景,请尝试使用此代码
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="Pages.MenuPage"
xmlns:telerikPrimitives="clr-namespace:Telerik.XamarinForms.Primitives;assembly=Telerik.XamarinForms.Primitives"
xmlns:telerik="clr-namespace:Telerik.XamarinForms.DataControls;assembly=Telerik.XamarinForms.DataControls"
xmlns:model="clr-Model"
xmlns:page="clr-Pages"
Title="Menu" Icon="menu.png" BackgroundColor="#FFFFFF" >
或使用它:
<NavigationPage.TitleView>
<StackLayout Orientation="Horizontal" BackgroundColor="#FFFFFF" >
<Label Text="App" HorizontalOptions="FillAndExpand" VerticalOptions="CenterAndExpand" BackgroundColor="#22335c" TextColor="White" HorizontalTextAlignment="Center" />
</StackLayout>
</NavigationPage.TitleView>
我更喜欢使用它:
MainPage = new NavigationPage (new MainView()) { BarBackgroundColor = Color.White, BarTextColor = Color.NavyBlue };
如果要重叠2个蓝色提示,请尝试使用无背景的图标。例如以SVG图形为例,然后使用绘画将其转换为png。
此图为您提供了一个示例: Figure without background link
致谢