WPF中ListView和GridView有什么区别?

7

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

ListViewGridView有什么区别?它们各自的优缺点是什么?

2个回答

8
一个 ListView 是 WPF 控件,继承自 ListBox,理论上可以使用几种从 ViewBase 派生的视图模式来渲染项。GridView 是唯一实现的模式。换句话说,这不是 ListView 或 GridView 的选择。如果您想在 ListView 中显示表格数据,您需要创建一个 ListView 并将其 View 设置为 GridView(它定义了列布局)。
然而,实际上据我所知,没有其他视图被实现。因为 ListView 不是一个非常功能丰富的控件,所以在这一点上它基本上已经过时了。事实上,Silverlight 甚至没有提供 ListView。
有一个 DataGrid 控件,它在功能和 API 上非常接近 Silverlight DataGrid 控件,你应该使用它来代替 ListView。

请编辑该链接,因为它并没有指向描述DataGrid控件的页面。(可以使用此链接作为示例:https://learn.microsoft.com/zh-cn/dotnet/api/system.windows.controls.datagrid?view=netcore-3.1) - Kappacake

7
一个 ListView 是一个容纳数据的对象:
ListView 是一个 ItemsControl,这意味着它可以包含任何类型的对象集合(例如字符串、图像或面板)。有关更多信息,请参阅 ItemsControl 类。
在 ListView 中呈现数据项的方式由其视图模式定义,该视图模式由 View 属性指定。Windows Presentation Foundation (WPF) 提供了一个名为 GridView 的视图模式,将 ListView 数据项内容划分为列。GridView 及其相关类上的属性和方法样式化并指定了列的内容。
GridView 则控制数据的表示方式:
表示一种视图模式,用于在 ListView 控件中以列显示数据项。
GridView 类及其支持类提供基础结构,以在一系列列中显示为 ListView 控件指定的数据项。

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