我已经将我的Xamarin.Forms Prism应用程序设置为使用Master-Detail页面(MasterBehavior设置为Popover)进行导航,但我注意到我的Prism应用程序与使用示例Xamarin.Forms应用程序之间的一些差异这个页面(https://developer.xamarin.com/guides/xamarin-forms/user-interface/navigation/master-detail-page/)。
在Android上,点击汉堡包图标会使主广告在两个应用中滑出。在示例应用程序中,汉堡包图标仍然可见。在我的Prism应用程序中,汉堡包图标不会保持可见,因为主视图占据了屏幕的整个高度,如下所示:
在UWP上,单击汉堡包图标可使主人在两个应用程序中滑出。在示例应用程序中,汉堡包图标仍然可见,母版页的标题显示在顶部。在我的Prism应用程序中,这些项目都不可见,如下所示:
Prism app主视图的顶部和底部似乎也有某种类型的填充或空白区域。
这些差异是由Prism本身引入的,还是有一种方法可以将主机配置为与vanilla Xamarin.Forms样本类似?
更新的屏幕截图
为了更好地展示我所看到的问题,这里有更多屏幕截图。
Xamarin样品,应用程序启动,然后点击汉堡包图标可以看到导航栏(带有汉堡包图标),主人可见:
我的Prism应用程序,应用程序启动,然后点击汉堡包图标使主视图占据屏幕的整个高度:
答案 0 :(得分:2)
为了在导航到页面时显示汉堡包图标,您必须将详细信息包装在NavigationPage中。因此,请注册navigationPage进行导航,然后将其添加到导航URI中。
protected override void OnInitialized()
{
NavigationService.NavigateAsync("MyMasterDetail/NavigationPage/MainPage");
}
看看这个沙箱示例:
https://github.com/PrismLibrary/Prism/tree/master/Sandbox/Xamarin