Xamarin.Forms Prism 主视图在弹出窗口可见时不显示汉堡包图标

Xamarin.Forms Prism master view not showing hamburger icon when popover visible

我已将 Xamarin.Forms Prism 应用程序设置为使用主从页面(MasterBehavior 设置为 Popover)进行导航,但我注意到我的 Prism 应用程序和示例 Xamarin.Forms 应用程序之间存在一些差异此页面 (https://developer.xamarin.com/guides/xamarin-forms/user-interface/navigation/master-detail-page/)。

在 Android 上,单击汉堡包图标会使母版在两个应用程序中滑出。在示例应用程序中,汉堡包图标仍然可见。在我的 Prism 应用程序中,汉堡图标不可见,因为主视图占据了屏幕的整个高度,如下所示:

Android

在 UWP 上,单击汉堡图标会使母版在两个应用中滑出。在示例应用程序中,汉堡图标仍然可见,并且主页的标题显示在顶部。在我的 Prism 应用程序中,这些项目均不可见,如下所示:

UWP

Prism 应用主视图的顶部和底部似乎也有某种类型的填充或空白区域。

这些差异是由 Prism 本身引入的,还是有办法配置 master 使其行为类似于 vanilla Xamarin.Forms 示例?

更新的屏幕截图

为了更好地展示我看到的问题,这里有更多截图。

Xamarin 示例、应用程序启动然后点击汉堡图标保持导航栏(带有汉堡图标)可见,主可见:

Xam

我的 Prism 应用,应用启动然后点击汉堡图标会使主视图占据整个屏幕高度:

Prism


为了在导航到页面时显示汉堡图标,您必须将详细信息package在 NavigationPage 中。所以注册navigationPage进行导航,然后把它添加到你的导航URI中。

1
2
3
4
    protected override void OnInitialized()
    {
        NavigationService.NavigateAsync("MyMasterDetail/NavigationPage/MainPage");
    }

看看这个沙盒示例:

https://github.com/PrismLibrary/Prism/tree/master/Sandbox/Xamarin