Virtualizando um ItemsControl?

eu tenho umItemsControl contendo uma lista de dados que eu gostaria de virtualizar, no entantoVirtualizingStackPanel.IsVirtualizing="True" parece não funcionar com umItemsControl.

É 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 oItemsControl para umListBox, Eu posso ver que oInitialized O evento é executado apenas algumas vezes (as margens enormes são apenas para que eu só precise passar por alguns registros), no entanto, como umItemsControl todo item é inicializado.

Eu tentei definir oItemsControlPanelTemplate para umVirtualizingStackPanel mas isso não parece ajudar.

questionAnswers(3)

yourAnswerToTheQuestion