Ich habe ItemsControl
eine 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 ItemsControl
in a ändere ListBox
, kann ich sehen, dass das Initialized
Ereignis nur einige Male ausgeführt wird (die riesigen Ränder sind nur so, dass ich nur einige Datensätze durchgehen muss), jedoch wird ItemsControl
jedes Element initialisiert.
Ich habe versucht, das ItemsControlPanelTemplate
auf a zu setzen, VirtualizingStackPanel
aber das scheint nicht zu helfen.