我使用CarouselView和Timer让它每隔X秒产生一次变化的效果。现在,正如我发现的,有一些bug。ScrollTo并没有真正将CarouselView滚动到所要求的位置。设置Position property也无济于事。它们将根据发送的参数将位置滚动到高于或低于当前位置。
下面是所有测试的C#:
Device.StartTimer(TimeSpan.FromSeconds(2), () =>
{
slidePosition++;
if (slidePosition == (CarouselView1.ItemsSource as ObservableCollection<LinksHeaderTitles>).Count - 1)
{
for (int i = slidePosition - 2; i >= 0; i--)
{
CarouselView1.ScrollTo(0, animate: false);
}
slidePosition = 0;
}
CarouselView1.ScrollTo(slidePosition);
return true;
});有没有更好的解决办法,在到达最后一个项目后将位置重置为0?
发布于 2021-02-22 14:24:02
你可以尝试一下:
CarouselView1.ScrollTo(slidePosition, position: ScrollToPosition.Start);也许它会显示出你的需求。
https://stackoverflow.com/questions/66287047
复制相似问题