J'ai un ItemsControl
contenant 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 ItemsControl
en 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 ItemsControl
chaque élément est initialisé.
J'ai essayé de régler le ItemsControlPanelTemplate
sur a VirtualizingStackPanel
mais cela ne semble pas aider.