ListBox, VirtualizingStackPanel y Smooth Scrolling en WPF

tengo unListBox que puede tener muchas filas de registros de DB con plantilla, incluyendo unaImage, atado a unObservableCollection<MyItem>. A veces la colección puede contener miles de artículos.

El rendimiento es excelente, pero el desplazamiento es el comportamiento de salto predeterminado. Me gustaría que tuviera un desplazamiento suave, así que no marqueScrollViewer.CanContentScroll.

Ahora tengo un desplazamiento suave, pero el rendimiento es horrendo: los datos se recuperan en un hilo separado, y el hilo finaliza rápidamente, pero los resultados se muestran en 10-20 segundos.ListBox. Supongo que esto es porque desmarcandoScrollViewer.CanContentScroll cambia el subyacenteVirtualizingStackPanel a un regularStackPanel y así está cargando toda la colección antes de mostrar los resultados.

Así que mi pregunta es la siguiente: ¿cómo puedo conservar el desplazamiento suave sin sacrificar elVirtualizingStackPanel comportamiento y rendimiento?

Respuestas a la pregunta(2)

Su respuesta a la pregunta