小编Ale*_*ris的帖子

当使用数据虚拟化进行多重选择时,DataGrid会请求

添加4个月前的帖子,遗憾的是没有得到任何答案.

在带有shift的数据网格中使用多选时,我基本上站在同一个问题之前.

当在一个巨大的列表中间的某个地方(说它是网格中的1,000,000个项目,所有数据都已虚拟化)而我使用shift +鼠标点击从500,000到500,050中选择,网格调用我的"GetEnumerator()"方法虚拟列表(类似于Vincent和Paul的实现).到目前为止我所做的只是缓存页面上的SelectMany.但不幸的是导致行没有被正确选择(当ctrl +鼠标点击完成工作!).

所以我发现,DataGrid实际上期望从索引0到最后一个选择的所有项目.显然,这对于1m项目的列表并不理想,因为这将导致从0到(在我的示例中)500,050中的每个项目的请求,从而将所有内容加载到数据库中.

所以我的问题与丹尼尔在上面发布的那些问题相同:

  • 为什么DataGrid多次请求项目(连续6-7次请求所选项目,没有明显原因)?

  • 有没有办法告诉DataGrid不要使用枚举器,只是选择项目而不是从0开始迭代?

非常感谢,希望我能更好地获得至少引人深思的答案,因为没有太多关于数据虚拟化的信息.

wpf datagrid data-virtualization

6
推荐指数
1
解决办法
1241
查看次数

标签 统计

data-virtualization ×1

datagrid ×1

wpf ×1