我有一个应用程序,每个页面都有主详细信息页面和工具栏项。我将主详细信息页面和主页面设置为 NavigationPage.HasNavigationBar="False" 以避免重复工具栏项。在 Android 中,它工作正常且没有重复,但对于 iOS,它仍然为具有 Order="Secondary" 的工具栏项提供重复项
这是菜单页面(详细信息页面):
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:controls="clr-namespace:ImageCircle.Forms.Plugin.Abstractions;assembly=ImageCircle.Forms.Plugin"
xmlns:effects="clr-namespace:AppXamarin"
x:Class="AppXamarin.Pages.MenuPage" NavigationPage.HasBackButton="False">
<ContentPage.BackgroundImage>
<OnPlatform Android="exp20181029Artboard46" iOS="{OnIdiom Phone='exp20181029Artboard46',Tablet='Artboard'}"/>
</ContentPage.BackgroundImage>
<ContentPage.ToolbarItems>
<ToolbarItem Name="menuitem1" Order="Secondary" Text="logout" Priority="0" Clicked="MenuItem1_Clicked"/>
<ToolbarItem Order="Primary" Priority="1" Clicked="cart_Clicked" Text="cart" x:Name="cart"/>
<ToolbarItem Order="Primary" Priority="0" Text="search" x:Name="searchbar" Icon="search.png"/>
</ContentPage.ToolbarItems>
主主页:
<?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:AppXamarin.Pages"
x:Class="AppXamarin.Pages.MasterMainPage" NavigationPage.HasNavigationBar="False" NavigationPage.HasBackButton="False"
>
<MasterDetailPage.Master>
<local:MasterPage x:Name ="masterPage"/>
</MasterDetailPage.Master>
<MasterDetailPage.Detail>
<NavigationPage>
<x:Arguments>
<local:MenuPage></local:MenuPage>
</x:Arguments>
</NavigationPage>
</MasterDetailPage.Detail>
</MasterDetailPage>
和母版页:
<?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="AppXamarin.Pages.MasterPage"
NavigationPage.HasNavigationBar="False" NavigationPage.HasBackButton="False" >
<ContentPage.Title>
<OnPlatform Android="Menu" iOS="☰"/>
</ContentPage.Title>
<ContentPage.Icon>
<OnPlatform Android="menu.png"/>
</ContentPage.Icon>
<ContentPage.Content>
<StackLayout>
<Label Text="Welcome to Xamarin.Forms!"
VerticalOptions="CenterAndExpand"
HorizontalOptions="CenterAndExpand" />
</StackLayout>
</ContentPage.Content>
</ContentPage>
iOS结果在这里
安卓结果在这里
提前致谢。