WPF自定义TreeView滚动条样式

根据客户需求,要在TreeView目录树上显示10万+个节点,但是目录树显示10万加节点后,整个页面操作起来非常卡,所以给目录树增加了虚拟化设置。但是虚拟化设置一直没生效,后来经过排查发现是使用的自定义滚动条导致了虚拟化设置没有生效,后来自己写了一个滚动条样式,问题解决了。

目录树虚拟化设置属性

WPF虚拟化技术

WPF虚拟化技术(一)_51CTO博客_wpf 虚拟化

属性 说明 描述
VirtualizingStackPanel.IsVirtualizing 开启虚拟化属性 VirtualizingPanel.IsVirtualizing="True" 
VirtualizingStackPanel.VirtualizationMode 列表绑定大数据时,显示的速度和流畅性 VirtualizingStackPanel.VirtualizationMode="Recycling"
ScrollViewer.CanContentScroll 设置像素滚动或者单元格滚动 设置true 单元滚动,效率更高。
ScrollViewer.IsDeferredScrollingEnabled 如果用户拖动 Thumb 的 ScrollBar 时内容为静止状态,则为 true;否则为 false

虚拟化属性

目录树滚动条样式:

以下的滚动条样式,是通过原生的滚动条模板样式基础上进行简单修改的,增加了一些注释。


    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    

    
    
    
    
    
    

    
    
        
            
                
                
                
            
            
            
            
            
                
                
            
            
            
                
                
                    
                    
                
                
                
                    
                    
                
                
                
                    
                
            
            
            
                
                
            
        
        
            
                
                    
                    
                
                
            
            
                
                    
                    
                
                
            
            
                
                    
                    
                
                
            
            
                
                    
                    
                
                
            
            
                
                
            
        
    

    
    
        
            
                
                
                
            
            
            
            
            
                
                
            
            
            
                
                
                    
                    
                
                
                
                    
                    
                
                
                
                    
                
            
            
            
                
                
            
        
        
            
                
                    
                    
                
                
            
            
                
                    
                    
                
                
            
            
                
                    
                    
                
                
            
            
                
                    
                    
                
                
            
            
                
                
            
        
    

    
    

    

 

你可能感兴趣的:(WPF,wpf)