我正在使用 ListView 来显示列表中的项目。用户可以自己选择项目,或者使用一些“预选键”来选择具有指定属性的项目。
要检查我使用类似的项目:
for(int i;i<MyListView.Items.Count;++i)
{
if( /*... Check if the items should be selected ...*/ )
(MyListView.ItemContainerGenerator.ContainerFromIndex(i) as ListViewItem).IsSelected = true;
}
这对于在执行时可见的项目非常有效。但是对于不可见的项目,ContainerFromIndex() 返回 null。我听说这与虚拟化有关,并且 List 不知道“视野”的上侧或下侧项目。但是,当您手动选择列表中的项目时,为什么会超出“视野”?
以及如何选择“视野”之外的项目?我认为这一定是可能的。
感谢您的帮助,马克斯