如何在 Xamarin.forms 中以编程方式更改轮播页面中的页面?

How can I change the page programatically in CarouselPage in Xamarin.forms?

我正在使用 CarouselPage class 在 Xamarin.Forms 中实现水平滑块。 我打算让 CarouselPage class 通过点击页面移动到下一页,而不是滑动。

可能吗?谁能帮帮我?

提前致谢。

您可以将 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];
}