У меня есть 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
, но, похоже, это не помогает.