【问题标题】:WPF ListView vs DataGrid PerformanceWPF ListView vs DataGrid 性能
【发布时间】:2013-11-24 06:15:53
【问题描述】:

我目前只在WPF中使用ListViews来显示不需要编辑的数据。但我不太喜欢ListView 的风格,而且它似乎缺少一些功能,比如让GridViewColumn 填充剩余空间。所以我想知道如果我开始使用不可编辑的DataGrids 会对性能产生什么影响。

两者之间是否存在很大的性能差异?

【问题讨论】:

  • 来自Eric Lippert 如果你有两匹马并且你想知道这两匹马中哪一个跑得更快,那么就让你的马赛跑吧。
  • 我会把钱放在黑色的!!
  • @SonerGönül 我可以使用哪些工具来衡量性能?因为我无法确定哪个是我自己最快的,将我所有的 ListViews 更改为 DataGrid 似乎有点不切实际。抱歉,我从来没有做过性能测试,所以我不确定要使用什么。
  • 最后,你用/做了什么?

标签: c# wpf xaml


【解决方案1】:

WPF 中的ListView 是一个轻量级控件:DataGridView 提供的某些功能不可用。请参阅this Stackoverflow answer 了解更多信息。如果您对ListView 功能不满意,那么DataGridView 是解决您问题的另一个选择。

请记住,DataGridView 控件在加载时会占用一些额外的内存空间。但是ListViewDataGridView控件占用的内存差异应该不大。一些内存分析工具(如 .Net 内存分析器)可以看到此内存大小。

一些第三方控件存在内存泄漏问题,这会影响应用程序的整体性能,但 Microsoft 库中的所有控件都针对性能和内存进行了优化。

对于少量数据(1000 行),则可能会导致滚动等操作延迟:这就是实现名为 VirtualizationStackPanel 的功能的原因。使用它可能会解决滚动问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-07
    • 1970-01-01
    • 2011-05-20
    • 2012-06-23
    相关资源
    最近更新 更多