Tag: virtualizingstackpanel

Treeview上的VirtualizingStackPanel不是虚拟化

我在这里遇到了一个问题,我想在TreeView中显示一些项目,大约有100.000个元素。 如果我使用默认的WPF TreeView似乎一切正常,但如果我使用自定义TreeView(目前只是一个ItemsControl),虚拟化似乎不再起作用。 在研究网络时,我尝试了一些解决方案,但它们似乎都没有用……这是我的xaml: Items是在带有DataBinding的ObservableCollection中,因此不应该是问题……但它是什么? 映入眼帘, 于尔根

如果将ListView ItemsContainer设置为VirtualizationStackPanel,则无法正确获取所选项目

我将’VirtualizingStackPanel.IsVirtualizing’设置为true,将’VirtualizingStackPanel.VirtualizationMode’设置为’Recycling’,因为我的ListView中的项目太多了。 ListView的SelectionMode是Extended,ListViewItem的’IsSelected’属性绑定到我的模型的’IsSelected’属性,绑定模式是双向的。 当我想使用Ctrl + A选择所有项目时,它只选择部分项目,所以我使用KeyBinding来编写如下所示的全选方法: SelectAll方法将循环ItemsSource集合并将项目的每个IsSelected属性设置为true。 但它也会导致意想不到的事情。 选中所有项目后,我将滚动条滚动到底部,它会将更多项目加载到ListView,我单击一个项目,预期所有其他项目都被取消选中,只选择此项目。 但是,似乎没有取消选择其他项目。 有人可以帮忙吗?