我有WPF和Windows Forms的经验,但是只使用Windows Forms DataGridView而不是WPF DataGrid(仅包含在.Net 4中,或者可以从Codeplex添加到.Net 3.5中).我即将使用这些控件中的一个大量使用大量数据,并且读取性能是WPF DataGrid的一个问题,所以我可能会坚持Windows窗体DataGridView ..这是这种情况吗?
我不想使用第三方控制.
Windows Forms DataGridView是否为WPF DataGrid提供了大量数据的显着性能?
如果我使用WPF,我更喜欢使用.Net 3.5S SP1,除非.Net 4中的DataGrid显着更好?
此外,我想使用ADO与DataTable,我觉得更适合Windows窗体..
为了满足您的需求,除非您有其他要求可以引导您进入WPF,否则我会推荐使用WinForms DataGridView.
WPF DataGrid是通过Codeplex提供的,作为“带外”版本,即这些控制将最终进入WPF API,但是早期在codeplex上发布,以便我们可以在下一个主要的.NET发行.您可以使用.NET 4.0或Codeplex DataGrid.据我所知,他们是一样的. WPF DataGrid与DataTables相当不错.请参阅我的下列文章中的示例:
http://www.codeproject.com/KB/WPF/WPFDataGridExamples.aspx
但是,WPF框架和视觉效果比WinForms稍微重量级.此外,WinForms DataGridView非常成熟.
对于非常大的数据集,WinForms DataGridView具有WPF DataGrid中不存在的一个功能,这对于非常大的网格(数百万行)至关重要,这是一种虚拟模式:
http://msdn.microsoft.com/en-us/library/ms171622.aspx
也被称为数据虚拟化.在这种模式下,您告诉网格数据中有多少行,然后处理事件以填充单元格.这个比例很好.我已经使用这个大规模和复杂的网格.
WPF具有UI虚拟化,这是UI控制回收的一种形式,但不是数据虚拟化.
希望有帮助.