【发布时间】:2016-10-14 12:40:49
【问题描述】:
我正在使用具有 Android 和 IOS 项目的便携式 Xamarin.Forms(跨平台)。
我正在使用轮播页面,以便我可以滑动页面。
我只想要中间内容而不是整个页面。页眉和页脚不应滑动
您可以在下图中看到整个页面正在滑动。我只想滑动中间内容
请教我怎么做?
【问题讨论】:
标签: android ios xamarin xamarin.forms
我正在使用具有 Android 和 IOS 项目的便携式 Xamarin.Forms(跨平台)。
我正在使用轮播页面,以便我可以滑动页面。
我只想要中间内容而不是整个页面。页眉和页脚不应滑动
您可以在下图中看到整个页面正在滑动。我只想滑动中间内容
请教我怎么做?
【问题讨论】:
标签: android ios xamarin xamarin.forms
您应该查看Xamarin.Forms.CarouselView 的预发布版本以用于您的用例:
Nuget: `Xamarin.Forms.CarouselView 2.3.0-pre2`
CarouselView 是CarouselPage 的替代品。并且CarouselPage 将在未来的Xamarin.Forms 版本中标记为已弃用。
CarouselView 是虚拟化的,在处理多个页面时,与CarouselPage 相比,内存减少了很多,并且可以像Page 中的“控件”一样使用,您可以应用页眉/页脚模板到您的页面并将CarouselView 放在中心。
【讨论】:
我使用带有水平滑动的列表视图而不是课程页面。它工作正常
【讨论】:
这是一个使用 ControlTemplates 的相对简单的重构:
Xamarin.Forms control templates
假设您使用的是 MVVM,然后将 ControlTemplate 分配给 ContentPage controlTemplate 属性:例如
contentView.ControlTemplate = new SampleControlTemplate()
我个人在 ControlTemplate 中使用 GridViews 来获得对布局的更有限的控制。最终输出是定义为 ContentPresenter 的区域,该区域将使用您的 ContentPage(在您的情况下为 CarouselPage)中的布局填充。
【讨论】: