0

各ページのマスター/詳細ページとツールバー項目を備えたアプリがあります。ツールバー項目の重複を避けるために、マスター/詳細ページとマスター ページを 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結果はこちら

アンドロイドの結果はこちら

前もって感謝します。

4

2 に答える 2