ListBox, VirtualizingStackPanel и плавная прокрутка в WPF
у меня естьListBox
которые могут иметь много строк шаблонных записей БД, в том числеImage
привязанный кObservableCollection
, Иногда коллекция может содержать тысячи предметов.
Производительность отличная, но прокрутка - это поведение по умолчанию. Я бы хотел, чтобы у него была плавная прокрутка, поэтому я не проверял.ScrollViewer.CanContentScroll
Теперь у меня плавная прокрутка, но производительность ужасна: данные извлекаются в отдельном потоке, и поток быстро завершается, но для отображения результатов в течение 10-20 секундListBox
, Я предполагаю, что это потому, что снятие отметкиScrollViewer.CanContentScroll
изменяет базовыйVirtualizingStackPanel
к регулярномуStackPanel
и поэтому он загружает всю коллекцию перед отображением результатов.
Итак, мой вопрос заключается в следующем: как сохранить плавную прокрутку, не жертвуяVirtualizingStackPanel
поведение и производительность?