我有一个列表框,它可能包含大量带有支持数据的项目。为了处理数据虚拟化,我通过编写一个实现与 ObservableCollection 相同的接口并可以根据需要启动我们的支持数据的集合来绑定到 WPF 的 UI 虚拟化。
这工作正常。当我使用列表框引入多选时,问题就来了。因为列表框通过对象而不是索引(SelectedItems)管理选定的项目,所以选择所有项目会导致所有支持数据被列表框旋转并保存在内存中,从而破坏了数据虚拟化......
除了重写 ListBox 以通过索引而不是对象管理选择之外,有没有办法防止这种情况发生?
谢谢!
埃里克