У меня есть ItemsControl
, содержащий список данных, которые я хотел бы виртуализировать, однако VirtualizingStackPanel.IsVirtualizing="True"
, похоже, не работает с ItemsControl
.
Это действительно так или есть другой способ сделать это, о котором я не знаю?
Для проверки я использовал следующий блок кода:
<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>
Если я изменил значение ItemsControl
на ListBox
, я вижу, что событие Initialized
выполняется только несколько раз (огромные поля - это просто так, что мне нужно пройти только несколько записей), однако как ItemsControl
каждый элемент получает инициализацию.
Я попытался установить ItemsControlPanelTemplate
на VirtualizingStackPanel
, но, похоже, не помогает.