Ale*_*all 2 wpf itemspanel virtualizingstackpanel
有人可以告诉我如何在WPF中正确使用VirtualizingStackPanel吗?我在ItemsPanelTemplate中为我的ItemsControl设置了一个VirtualizingStackPanel,并将其设置为我的ItemsHost,但是当我在我的item控件上注册一个CleanUpVirtualizedItem附加事件的监听器时,没有任何反应.我没有看到事件被调用.我也没有看到我的数据模板中的自定义控件上的任何Unloaded事件被调用,这表明我没有实际的虚拟化.任何帮助将非常感激.
请尝试使用ListBox或ListView:
<ListBox ItemsSource="{Binding Items}"
VirtualizingStackPanel.VirtualizationMode="Recycling"
VirtualizingStackPanel.CleanUpVirtualizedItem="ItemsControl_CleanUpVirtualizedItem">
</ListBox>
Run Code Online (Sandbox Code Playgroud)
ListBox将自动处理项目的虚拟化 - 如果直接创建VirtualizingStackPanel,还需要做一些手动工作.这是因为ItemsControl的默认ControlTemplate没有ScrollViewer,这是虚拟化的关键 - 这里有更多信息.
| 归档时间: |
|
| 查看次数: |
6003 次 |
| 最近记录: |