我测试了很多虚拟化版本,但没有得到可用的版本。我通过Snoop检查了虚拟化,其中虚拟化可视树仅包含显示的项目,非虚拟化包含所有项目。
ItemsSource(NumberList)包含500个项目(整数1..500)。 以下版本已虚拟化:
<Grid>
<ListView Name="lbDefault" Margin="15,10" Width="300" Height="200"
ItemsSource="{Binding NumberList}"
ScrollViewer.VerticalScrollBarVisibility="Auto"
ScrollViewer.HorizontalScrollBarVisibility="Disabled">
<ListView.ItemsPanel>
<ItemsPanelTemplate>
<VirtualizingStackPanel/>
</ItemsPanelTemplate>
</ListView.ItemsPanel>
</ListView>
</Grid>
以下代码无效:
<Grid>
<ListView Name="lbDefault" Margin="15,10" Width="300" Height="200"
ItemsSource="{Binding NumberList}"
ScrollViewer.VerticalScrollBarVisibility="Auto"
ScrollViewer.HorizontalScrollBarVisibility="Disabled"
VirtualizingPanel.IsVirtualizing="True"
ScrollViewer.CanContentScroll="True">
<ListView.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel/>
</ItemsPanelTemplate>
</ListView.ItemsPanel>
</ListView>
</Grid>
有什么想法吗?
谢谢, 晒
答案 0 :(得分:0)
答案 1 :(得分:0)
如果您还没找到解决方案,可以查看我的VirtualizingWrapPanel:https://github.com/Thomas-Hoffmann/HorizontalVirtualizingWrapPanel