问题描述
我的项目使用AvalonDock,导入源文件后,点击某个标签页,需要过几秒钟才能打开该页(程序似乎“死机”了)。这个页面的类型是avalondock:LayoutAnchorable,里面有一个ListView,大概有几百条数据;而且每个ListView的条目中,又有一个数据量(< 100)不定的ItemsControl。我想可能是ListView加载太慢才导致了“死机”。
解决方案
为ListView开启虚拟化。
<ListView
...
ScrollViewer.CanContentScroll="True"
VirtualizingPanel.IsVirtualizing="True"
VirtualizingPanel.VirtualizationMode="Recycling"
VirtualizingPanel.ScrollUnit="Item"
/>