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

Jon*_*nas 7 wpf listview gridview

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

ListView和之间有什么区别GridView?优缺点都有什么?

Chr*_*isF 7

A ListView是保存数据的对象:

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

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

而a GridView控制数据的表示方式:

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

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


Jos*_*osh 7

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

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

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