我测试了虚拟化的许多变体,但没有得到一个可工作的版本。我通过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>有什么想法吗?
谢谢你,小谢
发布于 2015-03-02 19:00:40
看看Here和Here,告诉你如何获得一个虚拟化的包装面板。
发布于 2016-03-04 18:49:48
如果你还没有找到解决方案,可以查看我的VirtualizingWrapPanel:https://github.com/Thomas-Hoffmann/HorizontalVirtualizingWrapPanel
https://stackoverflow.com/questions/28806933
复制相似问题