Состояние Xamarin Гамбургер на планшете - PullRequest
0 голосов
/ 04 января 2019

Я реализовал меню гамбургеров в своем приложении Xamarin, следуя официальному примеру Microsoft о том, как создать меню гамбургеров с помощью XAML, и оно отлично работает. Вот код, который используется в настоящее время.

<ContentPage
         x:Class="MasterDetailPageNavigation.MasterPage"
         Icon="hamburger.png"
         Title="Personal Organiser">
<StackLayout>
    <ListView x:Name="listView" x:FieldModifier="public">
       <ListView.ItemsSource>
            <x:Array Type="{x:Type local:MasterPageItem}">
                <local:MasterPageItem Title="Contacts" IconSource="contacts.png" TargetType="{x:Type local:ContactsPage}" />
            </x:Array>
        </ListView.ItemsSource>
        <ListView.ItemTemplate>
            <DataTemplate>
                <ViewCell>
                    <Grid Padding="5,10">
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="30"/>
                            <ColumnDefinition Width="*" />
                        </Grid.ColumnDefinitions>
                        <Image Source="{Binding IconSource}" />
                        <Label Grid.Column="1" Text="{Binding Title}" />
                    </Grid>
                </ViewCell>
            </DataTemplate>
        </ListView.ItemTemplate>
    </ListView>
</StackLayout>

На небольших устройствах меню гамбургера по умолчанию скрыто, что является желаемым состоянием. Однако, когда я тестирую на планшетном ПК, меню гамбургера по умолчанию отображается (открывается). Есть ли опция, позволяющая мне всегда скрывать (закрывать) начальное состояние меню гамбургера?

Устройство планшета, которое я использую, является устройством Android, его экран относительно небольшой, а открытое по умолчанию меню гамбургера занимает слишком много места на экране.

1 Ответ

0 голосов
/ 04 января 2019

Мне просто нужно добавить следующее к моему MainPage.xaml.cs Теперь меню по умолчанию скрыто на всех устройствах.

MasterBehavior = MasterBehavior.Popover;
...