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