Xamarin.forms CollectionView保留列表末尾的CropCloffset行为

Xamarin.forms CollectionView保留列表末尾的CropCloffset行为,xamarin.forms,uicollectionview,Xamarin.forms,Uicollectionview,我使用的是Xamarin.Forms v4.8.0.1534,我有一个项目列表,通过CollectionView显示。我有随机间隔的新项目,用户可能滚动列表查看任何历史项目。列表需要在两种模式下运行: 监视:添加新项目时需要立即显示的位置 检查:用户将在其中查看列表中的历史项目 如果列表显示添加新项目时添加的最后一个项目(监控模式),则列表应滚动以完整显示新项目。如果用户滚动列表查看历史项目,则添加新项目时,列表不应移动 可以选择将新项目添加到列表的顶部或底部 如果该选项设置为将项目添加到列

我使用的是Xamarin.Forms v4.8.0.1534,我有一个项目列表,通过
CollectionView
显示。我有随机间隔的新项目,用户可能滚动列表查看任何历史项目。列表需要在两种模式下运行:

  • 监视:添加新项目时需要立即显示的位置
  • 检查:用户将在其中查看列表中的历史项目
如果列表显示添加新项目时添加的最后一个项目(监控模式),则列表应滚动以完整显示新项目。如果用户滚动列表查看历史项目,则添加新项目时,列表不应移动

可以选择将新项目添加到列表的顶部或底部

如果该选项设置为将项目添加到列表的顶部,并且
ItemsUpdatingScrollMode=keepscroloffset
则所有操作都按要求进行

但是,在列表底部添加项目似乎没有等效的设置

我尝试了
ItemsUpdatingScrollMode
的不同设置,但没有按要求工作,我还寻找了一些方法,在添加新项目之前,检查最后添加的项目是否在
CollectionView
中可见。如果相关的话,可以使用
ScrollTo
,但是我找不到任何方法来检查
CollectionView
项目可见性

我不确定我是否遗漏了一些明显的东西,但如果有任何帮助,尤其是在检查
CollectionView
项目可见性方面,我将不胜感激

我找不到任何方法来检查CollectionView项目可见性

如果可以检查项目是否可见,您可以参考

void OnCollectionViewScrolled(object sender, ItemsViewScrolledEventArgs e)
{
    Debug.WriteLine("LastVisibleItemIndex: " + e.LastVisibleItemIndex);
}
Xaml代码:

<CollectionView Scrolled="OnCollectionViewScrolled">
    ...
</CollectionView>

...