我刚刚开始在android平板电脑上测试我的应用,并且发现了一个奇怪的错误: 我只想在打开主页时才启用母版页。 所以我创建了Custom 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时,母版页面消失:
然后,当我返回主页时,该母版页仍然不可用:
至少我需要在我的MainPage上显示我的MasterPage,如果有人告诉我如何将左边的Masterpage隐藏起来并以滑动手势(例如在手机上)使用它,那将是一个完美的选择。预先感谢。
答案 0 :(得分:1)
顺便说一句,我已经找到了解决问题的答案:) 现在,我最终在MasterPage中添加了Tablet习惯用法的行为。 构造函数的代码:
public MasterDetailPage1()
{
InitializeComponent();
/// Some coding
if (Device.Idiom == TargetIdiom.Tablet)
MasterBehavior = MasterBehavior.Popover;
/// Some coding
}
希望对某人有帮助。