我应该使用什么WPF控件来构建高性能网格

本文关键字:构建 高性能 网格 控件 WPF 什么 我应该 | 更新日期: 2023-09-27 18:04:08

我应该使用什么WPF控件来构建高性能网格?

我希望能够有单元格级别控制,这样我就可以更新一个单元格,并让网格只重新绘制该单元格。

DataGrid似乎没有提供单元格级别控制。

我需要支持10000行和大量的单元格更新(比如每秒200)。

谢谢

我应该使用什么WPF控件来构建高性能网格

如果你不想尝试第三方数据网格,那么你至少给WPF数据网格一个尝试吗?它支持行和列级别的虚拟化。加上单元格级别控制可通过DataGridCell类型的CellStyle。你甚至可以将任何行为附加到DataGridCell上,然后获得对它的独占访问权,钻取到它的可视化树中,并在本地对其内容执行任何类型的性能改进。

我一直在使用WPF数据网格来满足各种需求(没有行定义和组样式的分层数据显示,频繁的数据更新,大量的列,频繁的可编辑和基于验证的场景,装饰虚拟化单元格和延迟滚动与滚动启发式的猜测等)

你可以把它发挥到极致。Codeplex网站上有基于WPF数据网格的最新工具包的源代码。

如果有帮助请告诉我

如果你需要性能,你最好的选择是测量,测量,测量

使用您正在查看的每个DataGrid类构建一个快速原型,使用"真实的"示例数据。

看看哪些表现好,哪些表现不好。

用于WPF的Telerik RadGrid支持行虚拟化和列虚拟化,可能正是您正在寻找的。

我不会先验地拒绝使用winform方法,因为数据量巨大且更新速度相对较快。在类似的场景中,您可以管理更多的数据,而不会显著影响性能。

我是WPF的忠实粉丝,但它并不总是能解决所有问题。