如何在Xamarin.forms的CarouselPage中通过程序更改页面?

4
我正在使用CarouselPage类在Xamarin.Forms中实现水平滑块。我想让CarouselPage类在点击页面时向下一页移动,而不是滑动。
这是否可能?有人可以帮助我吗?
提前致谢。
1个回答

15
你可以在页面上添加一个TapGestureRecognizer,将其连接到CarouselPage的CurrentPage属性上以改变当前页。以下是我编写的一个扩展方法,用于将CarouselPage的当前页索引向右移动。从与子页面连接的TapGestureRecognizer中调用此方法应该会给您所需的功能。

您可以在页面上添加TapGestureRecognizer,将其连接到CarouselPage的CurrentPage属性上以更改当前页。下面是我编写的一个扩展方法,用于将CarouselPage的当前页面索引向右移动。从连接到子页面的TapGestureRecognizer中调用此方法应该会提供所需的功能。

public static void PageRight(this CarouselPage carouselPage)
{
    var pageCount = carouselPage.Children.Count;
    if (pageCount < 2) 
        return;

    var index = carouselPage.Children.IndexOf(carouselPage.CurrentPage);
    index++;
    if (index >= pageCount) 
        index = 0;

    carouselPage.CurrentPage = carouselPage.Children[index];
}

是的,但如何更改CurrentPage? - Fenix
谢谢,你帮了大忙。 - Fenix
1
很高兴能够帮助。您可以将其标记为已接受的答案吗? - Will Decker
谢谢,我以为我已经做过了 :) - Fenix
干得好,谢谢。 - Danilo Pádua

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接