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