我最近开始探索 WPF 中的数据和 UI 虚拟化功能,并偶然发现了一些奇怪的东西。
我创建了一个启用的DataGrid
'sVirtualizing
并用一个包含 1,000,000 个项目的列表填充它。这很好用,而且速度惊人。
<Grid>
<DataGrid x:Name="employees" VirtualizingPanel.IsVirtualizing="True"
VirtualizingPanel.IsContainerVirtualizable="True"
VirtualizingPanel.VirtualizationMode="Recycling"/>
</Grid>
但是,当我将它嵌套在 a 下时,StackPanel
它会加载超过一分钟,直到我得到OutOfMemoryException
. 我也设置了相同的VirtualizingPanel
属性,StackPanel
但它没有帮助。
这种行为是故意的还是我在这里遗漏了一些基本的东西?以及如何设法在嵌套控件中支持数据虚拟化?