Ho un ItemsControlcontenente un elenco di dati che vorrei virtualizzare, tuttavia VirtualizingStackPanel.IsVirtualizing="True"non sembra funzionare con un file ItemsControl.
È davvero così o c'è un altro modo di farlo di cui non sono a conoscenza?
Per testare ho utilizzato il seguente blocco di codice:
<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 cambio il ItemsControlin a ListBox, posso vedere che l' Initializedevento viene eseguito solo una manciata di volte (gli enormi margini sono solo così devo solo passare attraverso alcuni record), tuttavia ItemsContrologni elemento viene inizializzato.
Ho provato a impostare il ItemsControlPanelTemplatesu a VirtualizingStackPanelma questo non sembra aiutare.