Bir Image
, bir ObservableCollection<MyItem>
için bağlanmış da dahil olmak üzere bir çok templated DB kayıtları, satır olabilir bir ListBox
var. Bazen koleksiyon binlerce eşya tutabilir.ListBox, VirtualizingStackPanel ve Pürüzsüz Scrolling WPF içinde
Performans harika, ancak kaydırma varsayılan jumpy davranışıdır. Düzgün kaydırma yapmasını istiyorum, bu yüzden ScrollViewer.CanContentScroll
işaretini kaldırdım.
Şimdi düzgün bir kaydırma işlemine sahibim, ancak bu performans çok korkunç: veriler ayrı bir iş parçacığında alınacak ve iş parçacığı hızla bitiyor, ancak sonuçların ListBox
'da gösterilmesi 10-20 saniye sürüyor. Bunun nedeni, ScrollViewer.CanContentScroll
işaretinin kaldırılmasının, 'un temelini StackPanel
düzenli olarak değiştirdiğinden ve sonuçların görüntülenmesinden önce tüm koleksiyonun yüklenmesinden kaynaklanmaktadır.
Bu yüzden sorum şu: VirtualizingStackPanel
davranış ve performanstan ödün vermeden düzgün kaydırma özelliğini nasıl koruyabilirim?
http://stackoverflow.com/questions/1977929/wpf-listbox-with-a-listbox-ui-virtualization-and-scrolling/9875475 Virtua lizingPanel.ScrollUnit = "Pixel" – Guillaume
Küçük bir kesmek için hazırsanız, hem düzgün kaydırma hem de sanallaştırma yapabilirsiniz. Ayrıntılar için benzer bir soruya [bu yanıt] (http://stackoverflow.com/questions/1977929/wpf-listbox-with-a-listbox-ui-virtualization-and-scrolling/9875475#9875475) bakın. –