J'ai un ItemsControlcontenant une liste de données que je voudrais virtualiser, mais VirtualizingStackPanel.IsVirtualizing="True"ne semble pas fonctionner avec un fichier ItemsControl.
Est-ce vraiment le cas ou y a-t-il une autre façon de le faire dont je ne suis pas au courant?
Pour tester, j'ai utilisé le bloc de code suivant:
<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>
Si je change le ItemsControlen a ListBox, je peux voir que l' Initializedévénement ne s'exécute qu'une poignée de fois (les marges énormes sont juste pour que je n'ai qu'à parcourir quelques enregistrements), mais ItemsControlchaque élément est initialisé.
J'ai essayé de régler le ItemsControlPanelTemplatesur a VirtualizingStackPanelmais cela ne semble pas aider.