谁能告诉我如何正确使用WPF中的VirtualizingStackPanel?我已经在我的ItemsPanelTemplate中为我的ItemsControl设置了一个VirtualizingStackPanel,并将它设置为我的ItemsHost,但是当我在我的items控件上为CleanUpVirtualizedItem attached事件注册一个侦听器时,什么也没有发生。我看不到事件会被调用。我也没有看到数据模板中自定义控件上的任何未加载事件被调用,这向我表明没有实际的虚拟化正在进行。任何帮助都将不胜感激。
发布于 2011-01-25 08:42:17
尝试使用ListBox或ListView:
<ListBox ItemsSource="{Binding Items}"
VirtualizingStackPanel.VirtualizationMode="Recycling"
VirtualizingStackPanel.CleanUpVirtualizedItem="ItemsControl_CleanUpVirtualizedItem">
</ListBox>ListBox将自动处理项目的虚拟化-如果您直接创建VirtualizingStackPanel,将有更多的手动工作要做。这是因为ItemsControl的默认ControlTemplate没有ScrollViewer,这是虚拟化的关键-更多信息here。
https://stackoverflow.com/questions/4788698
复制相似问题