Treeview上的VirtualizingStackPanel不是虚拟化

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

                        

Items是在带有DataBinding的ObservableCollection中,因此不应该是问题……但它是什么?

映入眼帘,

于尔根

VirtualizingStackPanel有一些特殊的代码,可以查找TreeView和TreeViewItem。 此外,TreeViewItem实现了VirtualizingStackPanel.IProvideStackingSize ,这是一个您无法实现的内部接口。

因此,如果您尝试复制TreeView中的项目的层次结构,那么您必须从TreeView派生以使用虚拟化(而不是ItemsControl)。