如何从虚拟模式ListView中获取ListViewItem

本文关键字:获取 ListViewItem ListView 模式 虚拟 | 更新日期: 2023-09-27 18:21:21

如何获取处于虚拟模式的ListViewListViewItem

i调用:

 //Get ListViewItem corresponding to index 37
 var e = new RetrieveVirtualItemEventArgs(37);
 listView.RetrieveVirtualItem(sender, e);
 return e.Item;

只是安德烈亚斯·赫尔伯格决定不允许我那样做。

如何获取虚拟模式ListView的对应于索引的ListViewItem

如何从虚拟模式ListView中获取ListViewItem

您可能必须创建一个类,并从您正在使用的从ListView继承的任何类继承(我假设这是因为如果您直接使用ListView类,那么您可能可以访问底层缓存,并且在特定索引处获取项的机制将是明显的),创建一个公共包装函数,使用您在示例代码中指定的参数调用受保护的OnRetrieveVirtualItem函数,并从中返回.Item,因此

RetrieveVirtualItemEventArgs args = new RetrieveVirtualItemEventArgs(37);
this.OnRetrieveVirtualItem(args);
return args.Item;