Ich habe ItemsControleine Liste mit Daten, die ich virtualisieren möchte, VirtualizingStackPanel.IsVirtualizing="True"scheint jedoch nicht mit einem zu funktionieren ItemsControl.
Ist das wirklich der Fall oder gibt es einen anderen Weg, den ich nicht kenne?
Zum Testen habe ich den folgenden Codeblock verwendet:
<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>
Wenn ich das ItemsControlin a ändere ListBox, kann ich sehen, dass das InitializedEreignis nur einige Male ausgeführt wird (die riesigen Ränder sind nur so, dass ich nur einige Datensätze durchgehen muss), jedoch wird ItemsControljedes Element initialisiert.
Ich habe versucht, das ItemsControlPanelTemplateauf a zu setzen, VirtualizingStackPanelaber das scheint nicht zu helfen.