Csharp/C#教程:提高WPF DataGrid的性能分享


提高WPF DataGrid的性能

在我的.NET 3.5 WPF应用程序中,我有一个WPF DataGrid ,它将填充500列和50行。 在滚动时,或者当我执行DataGrid.Items.Refresh()或选择行时,App的性能非常差。

实际应用程序将花费大约20秒来更新布局。 Layout_Updated()事件将在20秒后触发。

如果我将列减少到50或更少,App会非常敏感。 根据我的发现,性能与列数直接相关。

如何提高DataGrid性能?

您可以使用几个选项来帮助您使用DataGrid对象

 EnableColumnVirtualization = true EnableRowVirtualization = true 

这两个是我认为可能有帮助的主要因素。 接下来尝试使您的绑定异步

 ItemsSource="{Binding MyStuff, IsAsync=True}" 

最后,我听说设置最大高度和宽度可以帮助,即使它超过最大屏幕尺寸,但我自己没有发现差异(声称与自动尺寸测量有关)

 MaxWidth="2560" MaxHeight="1600" 

也永远不要将DataGrid放在ScrollViewer ,因为你将基本上失去虚拟化。 如果这有帮助,请告诉我!

检查您是否拥有属性ScrollViewer.CanContentScroll设置为False 。 将此属性设置为false会以某种方式禁用虚拟化,这会降低数据网格的性能。 有关更多说明,请参阅此CanContentScroll

IsAsync = True}“使用此语句后更快,应用程序在短时间内获取大量记录,它对我有用…

也许试试这个,而不是一次加载所有50行

https://www.codeproject.com/Articles/34405/WPF-Data-Virtualization

上述就是C#学习教程:提高WPF DataGrid的性能分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/1009436.html

(0)
上一篇 2021年12月30日
下一篇 2021年12月30日

精彩推荐