我有一个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
为 aVirtualizingStackPanel
但这似乎没有帮助。