如何在虚拟模式下向ListView添加/删除项目?

如果我在虚拟模式下使用ListView,那么,据我所知,列表视图只跟踪列表中的少量项目。 当用户滚动它时,它动态地检索它需要从虚拟列表中显示的项目。

但是如果在主列表中添加或删除了一个项目呢? 如果在列表视图显示的索引范围之外添加/删除项目,那么我将假设列表视图将在用户滚动到该索引时显示添加/缺失的项目。 它是否正确? 但是,如果在用户当前正在查看的索引范围中添加/删除项目,该怎么办? 如何触发列表视图以刷新当前正在查看的项目以显示新/缺少的项目?

仅供参考:如果有任何不同,我正在使用ObjectListView 。

虚拟列表对您的项目列表一无所知。 它不会跟踪它们,甚至不是一小部分。 它只询问“你想在第n行显示什么?”

如果主列表发生更改,您只需重绘列表即可。 Invalidate()会为您做到这一点。 列表视图将再次询问您应该在控件中可见的每一行显示的内容。

如果您正在使用ObjectListView,您是否考虑过使用FastObjectListView,它可以为您提供虚拟列表的速度优势以及普通ObjectListView的易用性?