在WPF中ListView和GridView有什么区别?

时间:2010-06-26 21:49:36

标签: wpf gridview listview

我正在尝试创建一个WPF数据库应用程序。我可以使用一些好的组件来显示数据库表中的数据。 ListViewGridView似乎很受欢迎。但对于新手来说,很难看出它们之间的区别。

ListViewGridView之间有什么区别?有什么优点和缺点?

2 个答案:

答案 0 :(得分:7)

ListView是保存数据的对象:

  

ListView是一个ItemsControl,这意味着它可以包含任何类型的对象集合(例如字符串,图像或面板)。有关更多信息,请参阅ItemsControl类。

     

ListView中数据项的表示由其视图模式定义,该模式由View属性指定。 Windows Presentation Foundation(WPF)提供GridView视图模式,将ListView数据项内容分区为列。 GridView上的属性和方法及其相关的类样式并指定列的内容。

GridView控制数据的表示方式:

  

表示以ListView控件的列显示数据项的视图模式。

     

GridView类及其支持类提供了显示在一系列列中为ListView控件指定的数据项的基础结构。

答案 1 :(得分:6)

ListView是一个WPF控件,派生自ListBox,(理论上)可以使用从ViewBase派生的几种视图模式之一渲染项目。 GridView是唯一实现的。换句话说,它不是ListView或GridView的选择。如果要在ListView中显示表格数据,可以创建一个ListView并将其View设置为GridView(定义列布局。)

然而,实际情况是,据我所知,没有其他意见得以实施。而且因为ListView不是一个功能非常丰富的控件,所以它在很大程度上已经过时了。实际上,Silverlight甚至不提供ListView。

有一个DataGrid控件与Silverlight DataGrid控件的功能和API非常接近,您应该使用它而不是ListView。