Eu tenho um ItemsControlcontendo uma lista de dados que gostaria de virtualizar, no entanto VirtualizingStackPanel.IsVirtualizing="True", parece não funcionar com um ItemsControl.
É realmente esse o caso ou existe outra maneira de fazer isso que eu não conheço?
Para testar, tenho usado o seguinte bloco de código:
<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>
Se eu mudar ItemsControlpara a ListBox, posso ver que o Initializedevento ocorre apenas algumas vezes (as margens enormes são apenas para que eu só precise passar por alguns registros), no entanto, à medida que ItemsControlcada item é inicializado.
Eu tentei definir o ItemsControlPanelTemplatecomo a VirtualizingStackPanelmas isso não parece ajudar.