0

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

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

安卓

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

UWP

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

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


更新的屏幕截图

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

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

赛姆

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

棱镜

4

1 回答 1

2

为了在导航到页面时显示汉堡图标,您必须将详细信息包装在 NavigationPage 中。因此注册navigationPage 进行导航,然后将其添加到您的导航URI。

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

看一下这个沙盒示例:

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

于 2017-01-24T21:27:55.543 回答