【问题标题】:Does a WPF Grid perform better than Winform's Table Layout PanelWPF Grid 的性能是否优于 Winform 的表格布局面板
【发布时间】:2011-06-05 22:14:53
【问题描述】:

我目前正在开发一个使用表格布局面板来显示一行数据的应用程序。每行包含一定数量的文本框和复选框。

存在的行数通常很大,导致表格布局面板的加载和导航非常缓慢。

经过一些研究,我发现 TLP 是最慢的 Winform UI 控件之一,我想改为实现 WPF Grid。

我的问题有两个:

1) WPF Grid 在处理大量行时是否比表格布局面板表现更好?

2) 是否可以在专门使用 winform 控件的应用程序中包含 WPF 控件? (应用程序使用 .NET 3.5)

感谢您的宝贵时间,祝您有美好的一天。

【问题讨论】:

  • 为什么不使用DataGridView?它用于显示数据行...
  • DataGridView 的性能是否优于 Table Layout Panel ?感谢您的帮助。
  • 我检查过,DataGridView 帮不了我,因为我显示的数据不仅仅是原始文本。每行是多个文本框的组合。不仅如此,文本框还遵循一定的顺序和布局。它们彼此不靠近且大小相同。

标签: c# wpf winforms .net-3.5 grid


【解决方案1】:

对于性能,您必须自己进行比较。有很多因素会影响它,一个写得好的 WinForms 可能比写得不好的 WPF 更快,反之亦然。只需做一些原型设计,看看它是否对你来说是一个明显的胜利。

至于在主要是 WinForms 应用程序中使用一点 WPF,是的,它受支持并且可以正常工作。只需将您的 WPF 内容放在 WPF UserControl 中,然后将 ElementHost 添加到您的表单并在其中托管 WPF 控件。这里有更多信息:

【讨论】:

    【解决方案2】:

    如果您遇到冻结问题,是否有后台工作人员或线程将元素加载到表格布局面板中?

    【讨论】:

    • 向表格布局面板添加元素不是使用线程完成的。我计划添加多线程,但操作(即:滚动或调整大小)表格布局面板仍然很慢,因此我更喜欢从一开始就实现 WPF。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多