我刚刚开始在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;
}
这是我的风景主页:
当我将一些页面推送到我的NavigationPage时,母版页会消失:
之后,当我返回主页面时,主页面仍然不可用:
至少我需要在我的主页上显示我的母版页,如果有人告诉我,如何隐藏左侧的母版页并使用滑动手势(如手机),它将是完美的。提前致谢。
顺便说一句,我已经找到了我的问题的答案:)现在,我最终在我的MasterPage中添加了平板电脑习惯用法的行为。构造函数的代码:
public MasterDetailPage1()
{
InitializeComponent();
/// Some coding
if (Device.Idiom == TargetIdiom.Tablet)
MasterBehavior = MasterBehavior.Popover;
/// Some coding
}
希望能帮到别人。