WPF工具包中的DataGrid与ListView相比,有何优势?

8
我很了解ListView,但从未涉及过DataGrid
我的问题很简单 - 如果您不需要在列表中进行编辑,与ListView相比,DataGrid是否提供任何优势? 此外,使用DataGrid是否存在缺点(更复杂、性能、错误、难以样式化等)?
3个回答

5

ListView是只读控件。通常的用法是将列表与由文本框组成的“详细信息视图”同步。

DataGrid不缺少ListView拥有的任何东西,如多个选择模式、样式等。但是,它提供了一些在ListView之上的功能支持:

  • 数据的原地编辑

  • 事务性编辑

  • 自动生成列

  • 设置行详细信息

基本上问题是-您是否需要原地编辑?如果是这样,DataGrid是一个明显的选择。如果不需要,则两者非常相似。


1
我同意这个答案,但不同意结论。即使您不是在原地编辑,DataGrid也是首选,因为它易于添加排序和RowDetails视图。所以我的建议是 - 如果您有列,请从DataGrid开始,您将不必后来再切换。 - Sergey Aldoukhov
1
ListView并不是真正的只读。您可以通过使用适当的模板轻松地使ListView中的每个单元格可编辑。 - Tarydon

3

DataGrid可以让用户通过点击列标题对项目进行排序。


1

DataGrid的另外两个优点:

  1. 固定列和列标题。
  2. 标题比ListView更容易样式化。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接