ObservableCollection<MyItem>
에 바인딩 된 Image
을 포함하여 템플릿 기반 DB 레코드의 행이 여러 개일 수있는 ListBox
이 있습니다. 컬렉션에 수천 개의 항목이 포함될 수 있습니다.WPF의 ListBox, VirtualizingStackPanel 및 Smooth Scroll
성능은 좋지만 스크롤이 기본 동작이 아닙니다. 부드러운 스크롤링을 원합니다. 따라서 ScrollViewer.CanContentScroll
의 선택을 취소했습니다.
부드럽게 스크롤하지만 성능은 매우 높습니다. 데이터가 별도의 스레드에서 검색되고 스레드가 빠르게 완료되지만 결과가 ListBox
에 표시 되려면 10-20 초가 걸립니다. ScrollViewer.CanContentScroll
을 선택 취소하면 기본 VirtualizingStackPanel
이 일반 StackPanel
으로 변경되므로 결과를 표시하기 전에 전체 컬렉션을로드하고 있기 때문입니다.
제 질문은 이것입니다 : VirtualizingStackPanel
동작과 성능을 희생하지 않고 부드러운 스크롤을 유지하려면 어떻게해야합니까?
http://stackoverflow.com/questions/1977929/wpf-listbox-with-a-listbox-ui-virtualization-and-scrolling/9875475 Virtua lizingPanel.ScrollUnit = "Pixel" – Guillaume
작은 해킹을 사용할 준비가되면 부드러운 스크롤과 가상화를 모두 할 수 있습니다. [이 답변] (http://stackoverflow.com/questions/1977929/wpf-listbox-with-a-listbox-ui-virtualization-and-scrolling/9875475#9875475)에서 비슷한 질문을하십시오. –