我有一个mauiListView
绑定到ObservableCollection
,我希望当我添加一个新元素到集合我的ListView自动滚动到新项目。
但我的ListView
不更新自己,
我在我的代码后面添加了一个CollectionChanged事件(试图实现这一点),并使一个手动滚动时添加的项目,但没有当我运行
LstItems.ScrollTo(e.NewItems[e.NewItems.Count - 1], ScrollToPosition.End, false);
我的ListView走到最后但是它重建了整个ListView你可以看到在添加新项目到ListView
我试图改变CachingStrategy
:RecycleElement
,RetainElement
,但同样的结果。
我尝试使用ScrollToPosition
到MakeVisible
,但结果相同。
我尝试将ScrollTo
的动画参数设置为false,但结果相同。
我的问题:
- 有一种方法可以使我的
ListView
自动滚动到新添加的项目?如果不是: - 有一种方法可以手动移动到新的添加的项目没有重建整个ListView的UI效果?
你可以尝试使用CollectionView来实现这一点。
您可以使用以下代码滚动到最后一项:
mCollectionView.ScrollTo(myViewModel.Items.Count - 1, animate: true);
更多信息,您可以查看:Scroll to End.