我目前只在WPF中使用ListView
来显示不需要编辑的数据。但我真的不喜欢ListView
的风格,似乎缺少一些功能,例如让GridViewColumn
填充剩余的空间。所以我想知道如果我开始使用不可编辑的DataGrid
s会对性能产生什么影响。
两者之间是否有很大的性能差异?
答案 0 :(得分:1)
ListView
是一个轻量级控件:DataGridView
提供的某些功能不可用。有关详细信息,请参阅this Stackoverflow answer。如果您对ListView
函数不满意,那么DataGridView
是解决问题的另一种选择。
请记住,DataGridView
控件在加载时会占用一些额外的内存空间。但是,ListView
和DataGridView
控件占用的内存差异不应太大。某些内存分析工具(如.Net内存分析器)可以看到此内存大小。
某些第三方控件存在内存泄漏问题,这会阻碍整体应用程序性能,但Microsoft库中的所有控件都是性能和内存优化。
使用少量数据(<100行),您无法感觉到这些控件之间的任何性能差异。但是,如果您的应用程序试图显示大量数据(> 1000行),则可能会导致滚动等操作延迟:这就是实现名为VirtualizationStackPanel
的功能的原因。使用它可以解决滚动问题。