Xamarin形成android平板电脑masterdetailpage问题

问题描述 投票:1回答:1

我刚刚开始在Android平板电脑上测试我的应用程序并发现了一个奇怪的错误:我想在我的主页面打开时才能启用母版页。所以我创建了自定义NavigationPage和覆盖方法:

/// <summary>
    /// Отключение бокового меню при добавлении на главный экран новых страниц
    /// </summary>
    /// <param name="child"></param>
    protected override void OnChildAdded(Element child)
    {
        base.OnChildAdded(child);
        if (this.Navigation.NavigationStack.Count > 1)
            App.detailPage.IsGestureEnabled = false;
    }

    /// <summary>
    /// Включение бокового меню при наличии только одной страницы на главном экране
    /// </summary>
    /// <param name="child"></param>
    protected override void OnChildRemoved(Element child)
    {
        base.OnChildRemoved(child);
        if (this.Navigation.NavigationStack.Count < 2)
            App.detailPage.IsGestureEnabled = true;
    }

这是我的风景主页:

enter image description here

当我将一些页面推送到我的NavigationPage时,母版页会消失:

enter image description here

之后,当我返回主页面时,主页面仍然不可用:

enter image description here

至少我需要在我的主页上显示我的母版页,如果有人告诉我,如何隐藏左侧的母版页并使用滑动手势(如手机),它将是完美的。提前致谢。

xamarin xamarin.forms xamarin.android master-detail
1个回答
1
投票

顺便说一句,我已经找到了我的问题的答案:)现在,我最终在我的MasterPage中添加了平板电脑习惯用法的行为。构造函数的代码:

public MasterDetailPage1()
    {
        InitializeComponent();
        /// Some coding
        if (Device.Idiom == TargetIdiom.Tablet)
            MasterBehavior = MasterBehavior.Popover;
        /// Some coding
    }

希望能帮到别人。

© www.soinside.com 2019 - 2024. All rights reserved.