在listview为虚拟列表模式时,改变VirtualListSize的值小于RetrieveVirtualItem(object sender, RetrieveVirtualItemEventArgs e)中的e.ItemIndex , 或设置 virtualmode = false ,就会出现参数超出范围的异常。通过反编译上面两个属性,没有发现包含此异常的代码。好像也没法改变e的值。此问题,暂时还不知道怎么解决,如有高手路过,谢谢赐教!

解决方案 »

  1.   

    VirtualMode 设置为 true 且存在以下条件之一:VirtualListSize 大于 0 且未处理 RetrieveVirtualItem。- 或 -Items、CheckedItems 或 SelectedItems 包含项。- 或 -对 Items 进行了编辑。
      

  2.   

    我现在的问题是,在VirtualListSize 大于0的情况下 ,需要改变 VirtualMode = false 或改变VirtualListSize = 0 。不过这两种做法。都会抛出异常!其实我想完成的功能是在程序中,动态改变VirtualListSize 大小。只改改变VirtualListSize 大小时,不抛出异常就可以了