我有一个ItemsControl
包含要虚拟化的数据的列表,但是VirtualizingStackPanel.IsVirtualizing="True"
似乎不适用于ItemsControl
。
确实是这样吗,还是我不知道有另一种方法?
为了测试,我一直在使用以下代码块:
<ItemsControl ItemsSource="{Binding Path=AccountViews.Tables[0]}"
VirtualizingStackPanel.IsVirtualizing="True">
<ItemsControl.ItemTemplate>
<DataTemplate>
<TextBlock Initialized="TextBlock_Initialized"
Margin="5,50,5,50" Text="{Binding Path=Name}" />
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
如果将更ItemsControl
改为a ListBox
,则可以看到该Initialized
事件只运行了几次(巨大的利润只是为了让我只需要查看一些记录),但是ItemsControl
每一项都被初始化了。
我尝试将设置ItemsControlPanelTemplate
为a,VirtualizingStackPanel
但这似乎无济于事。