Xamarin.Forms MasterDetailPage,其中部分母版在详细信息中可见
Posted
技术标签:
【中文标题】Xamarin.Forms MasterDetailPage,其中部分母版在详细信息中可见【英文标题】:Xamarin.Forms MasterDetailPage with part of master visible on detail 【发布时间】:2018-09-13 12:55:05 【问题描述】:我想将母版页的一小部分(使其可见)推送到详细信息页面,例如下面链接中的图片。在 Xamarin.Forms 中是否可行?Before swipeAfter swipe
我将不胜感激。
【问题讨论】:
【参考方案1】:设置
<ContentPage NavigationPage.HasNavigationBar="False">
放置一个看起来像图像中显示的侧边菜单的 StackLayout 或 Grid。向其添加轻击手势识别器。
slMenu.GestureRecognizers.Add(new TapGestureRecognizer
Command = new Command(() => ShowSideMenu(masterPage)),
);
private void ShowSideMenu(MasterDetailPage masterPage)
masterPage.IsPresented = !masterPage.IsPresented;
【讨论】:
【参考方案2】:这是可能的,但需要相当多的工作,因为您不能直接访问 MasterDetailView 的宽度。
在另一篇文章(参见How to set width for MasterDetailPage in xamarin forms)中,我描述了如何更改 MasterDetail 视图的宽度。 在实现这一点时,我遇到了您想要的行为,尽管对我来说这是一个错误。
基本上步骤是
实现 MasterDetail 视图的自定义版本,您可以在其中设置自定义宽度 更改主视图的宽度,使其比应有的宽一些 在折叠和展开视图时调整计算,以免它们折叠整个宽度例如,如果您的主视图的宽度为 340,并且您希望显示最后 40 个,请确保在折叠时它“仅”移动 300
【讨论】:
以上是关于Xamarin.Forms MasterDetailPage,其中部分母版在详细信息中可见的主要内容,如果未能解决你的问题,请参考以下文章
Xamarin.Forms 和 Xamarin Native 有啥区别? [关闭]
如何使用 Xamarin.Forms.Maps(无 Xamarin.Forms.GoogleMaps)在地图中应用样式或更改颜色
Xamarin Forms Prism:prism ResourceDictionary 中已存在具有键“Xamarin.Forms.NavigationPage”的资源
Xamarin.Forms.Forms.Init(e) Onlaunched 中的 FileNotFoundExeception