1

我正在使用 aCarouselView和 aTimer让它每 X 秒产生一次变化的效果。现在我发现有一些错误。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 是否有更好的解决方法?

4

1 回答 1

0

你可以试试ScrollToPosition.Start

CarouselView1.ScrollTo(slidePosition, position: ScrollToPosition.Start);

也许它会显示您的需求。

于 2021-02-22T06:24:01.657 回答