首页 > 解决方案 > Carouselview 不滚动到设置位置

问题描述

我有一个渲染良好的轮播视图,但是当我以编程方式更改它的位置属性时,它不会滚动到该位置。此外,当我向它添加断点并检查我的轮播在哪个位置时,位置值正确地位于预定义的位置,直到我到达那个位置。之后,它跟随caruselview的位置。这是 xaml 代码:

    <CarouselView ItemsSource="{Binding FilteredLocations}"
              Position="{Binding Position}"
              EmptyView="No items to display.">

这是控制位置的C#部分:private int position;

    public int Position
    {
        get => position;
        set
        {
           SetProperty(ref position, value);
        }
    }

    public void SelectLocation(Location loc)
    {
        int i = 0;
        var comparer = EqualityComparer<Location>.Default;
        foreach (Location l in FilteredLocations)
        {
            if (comparer.Equals(l, loc))
            {
                Position = i;
            }
            i++;
        }
    }

有谁知道如何解决这个问题?

标签: c#xamarin.formsxamarin.forms.carouselview

解决方案


因此,解决方案是将 Xamarin 表单更新到 5.0。carouselview 在 4.8 中似乎有很多错误


推荐阅读