gpt4 book ai didi

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

转载 作者:太空狗 更新时间:2023-10-29 18:33:32 27 4
gpt4 key购买 nike

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

但是如果在主列表中添加或删除了一个项目怎么办?如果在 ListView 显示的索引范围之外添加/删除了一个项目,那么我会假设 ListView 会在用户滚动到该索引时显示添加/丢失的项目。这样对吗?但是,如果从用户当前正在查看的索引范围中添加/删除了一个项目怎么办?如何触发 ListView 刷新当前正在查看的项目以显示新的/缺失的项目?

仅供引用:我使用的是 ObjectListView如果这有什么不同的话。

最佳答案

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

如果您的主列表发生变化,您需要做的就是重新绘制列表。 Invalidate() 会为您做这件事。然后 ListView 将再次询问您应该在控件中可见的每一行显示什么。

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

关于c# - 如何在虚拟模式下向 ListView 添加/删除项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2525828/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com