如何在 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];
}
我正在使用 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];
}