にバインドされたListBox
を含む、テンプレート化された DB レコードの行が多数ある可能性のある があります。場合によっては、コレクションに何千ものアイテムが含まれることもあります。Image
ObservableCollection<MyItem>
パフォーマンスは優れていますが、スクロールはデフォルトのびくびくした動作です。スムーズにスクロールさせたいので、チェックを外しScrollViewer.CanContentScroll
ました。
スムーズにスクロールできるようになりましたが、パフォーマンスはひどいものです。データは別のスレッドで取得され、スレッドはすぐに終了しますが、結果が に表示されるまでに 10 ~ 20 秒かかりますListBox
。これは、チェックを外すと基になるものが通常にScrollViewer.CanContentScroll
変更され、結果を表示する前にコレクション全体が読み込まれるためだと思います。VirtualizingStackPanel
StackPanel
VirtualizingStackPanel
だから私の質問はこれです:動作とパフォーマンスを犠牲にすることなくスムーズなスクロールを維持するにはどうすればよいですか?