В ListBox
по умолчанию включена «виртуализация» (точнее: сортировка виртуализации контейнера пользовательского интерфейса), он не загружает полный список, только фрагменты. При прокрутке он должен сначала визуализировать элементы, а когда вы быстро прокручиваете, вы замечаете эту задержку рендеринга. Это достигается с помощью VirtualizingStackPanel
. Преимущество в том, что это экономит память.
Вы можете отключить виртуализацию при использовании пользовательских ItemsPanel
:
<ListBox x:Name="YourListbox">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel />
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
</ListBox>
... но решение потребует больше ресурсов с самого начала. Может стать опасным с длинными списками.
С другой стороны, вы можете включить виртуализацию на ItemsControl
, для целей тестирования вы должны быть в состоянии достичь задержки рендеринга («черные дыры»).