ListView.ScrollTo无法与HasUnevenRows属性一起正常使用可能的错误

问题描述

在将Xamarin.Forms ListView.ScrollTo函数与HasUnevenRows =“ true”一起使用时,一些大项目出现在底部,但滚动功能效果很好,因为滚动有效,但是大项目没有完全滚动,只有一半该项目将滚动,您可以用手指移动其余部分。更改为“ false”时,项目显示为“ ok”。像这样:

enter image description here

这是我的滚动代码

vm.ListMessages.CollectionChanged += (sender,e) =>
{
   var target = vm.ListMessages[vm.ListMessages.Count - 1];
   MessagesListView.ScrollTo(target,ScrollToPosition.End,true);
}

这是我的XAML(只有ListView ...大)

<ListView x:Name="MessagesListView" ItemTemplate="{StaticResource MessageTemplateSelector}" ItemsSource="{Binding ListMessages}" HasUnevenRows="True" SeparatorVisibility="None" IsEnabled="True" Grid.Row="0" ItemTapped="MessagesListView_ItemTapped" SelectionMode="None" VerticalOptions="End"/>

我认为这是一个错误,因为它在官方错误列表

enter image description here

中,但是它很旧,我认为应该解决

有什么想法吗?

谢谢

解决方法

解决了!...

问题在于图片更新中……添加项目时,图片尚未加载并且滚动效果很好,但是,在几毫秒后,图片已加载到控件中,并且需要滚动,因为图片的大小已更改,退出屏幕。.我需要将此事件添加到图像:

        OutCellImage.SizeChanged += (sender,e) =>
        {
            do scroll...
        };