如何在Xamarin.Forms中创建具有公共页眉和页脚的轮播页面

时间:2016-10-14 12:40:49

标签: android ios xamarin xamarin.forms

我正在使用具有Android和IOS项目的便携式Xamarin.Forms(跨平台)。

我正在使用轮播页面,以便我可以刷页面。

我只希望中间内容不刷整页。页眉和页脚不应该滑动

您可以在下图中看到整页正在滑动。我只想要中间内容滑动

enter image description here

请建议我怎么做?

3 个答案:

答案 0 :(得分:1)

您应该针对您的用例查看Xamarin.Forms.CarouselView的预发布版本:

Nuget: `Xamarin.Forms.CarouselView 2.3.0-pre2`

CarouselViewCarouselPage的替代品。在CarouselPage的未来版本中,Xamarin.Forms将被标记为已弃用。

CarouselView是虚拟化的,当处理超过几页时,内存减少超过CarouselPage,并且可以像Page中的“{1}}那样使用可以将页眉/页脚模板应用到您的页面,并将CarouselView放在中心。

来源:https://github.com/xamarin/Xamarin.Forms.CarouselView

答案 1 :(得分:1)

我使用listview进行水平滑动而不是coursal页面。它工作正常

答案 2 :(得分:0)

这是一个使用ControlTemplates的相对简单的重构:

Xamarin.Forms control templates

假设您正在使用MVVM,则可以将ControlTemplate分配给ContentPage controlTemplate属性:例如

contentView.ControlTemplate = new SampleControlTemplate()

我个人在ControlTemplate中使用GridViews来获得更有限的布局控制。最终输出是定义为ContentPresenter将使用您的ContentPage中的布局填充的区域(在您的情况下是CarouselPage)。