WPF Datagrid 绑定大量数据导致界面加载卡顿

博客讲述了在WPF中,DataGrid绑定大量数据导致界面加载卡顿的问题。作者发现问题在于界面渲染而非数据绑定,并介绍了虚拟化技术可以优化这个问题。虚拟化能按需实例化数据,但未实例化的数据无法获取。文章提到,外部滚动条阻碍了虚拟化的效果,改用DataGrid内置滚动条解决了问题。
摘要由CSDN通过智能技术生成

        一开始我以为时间是花在数据绑定上面,花费很多心思优化,开异步线程,后来才发现是界面渲染,即DataGrid绑定数据后,界面呈现花了很多时间。

       虚拟化的作用:假设DataGrid.ItemSource绑定的数据源有5000条数据,窗体大小只能显示40条数据,那么它就会先只实例化这40条数据呈现出来。如果没有实例化,那它会把5000条全部实例化呈现出来。

       虚拟化的缺点:没有实例化的部分无法获取。

1、前台xaml

                    <ScrollViewer Name="scrollviewLog" Width="480" Height="250" Margin="5">
                        <DataGrid Name="dataGrid" ItemsSource="{Binding MessageCollection,Mode=OneWay}" Style="{StaticResource dataGridStyleLog}" BorderBrush="#17aeec"
                              BorderThickness="1" VirtualizingPanel.IsContainerVirtualizable="True" VirtualizingPanel.IsVirtualizing="True" 
                              VirtualizingPanel.VirtualizationMode="Recycling"&g
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值