问题描述
我有一个渲染良好的轮播视图,但是当我以编程方式更改它的位置属性时,它不会滚动到该位置。此外,当我向它添加断点并检查我的轮播位于哪个位置时,位置值正确地位于预定义的位置,直到我到达该位置。之后,它跟随caruselview的位置。这是xaml代码:
<CarouselView ItemsSource="{Binding FilteredLocations}"
Position="{Binding Position}"
EmptyView="No items to display.">
这是控制位置的C#部分: 私有数据位置;
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++;
}
}
有人知道如何解决这个问题吗?
解决方法
因此,解决方案是将 Xamarin 表单更新到 5.0。 carouselview 在 4.8 中似乎有很多问题