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