DataGrid

通过 DataGrid 控件可显示和编辑来自许多不同源的数据,例如来自 SQL 数据库、LINQ 查询或任何其他可绑定数据源的数据。 有关详细信息,请参阅绑定源概述

列可以显示文本、控件(例如 ComboBox)或任何其他 WPF 内容(例如图像、按钮或模板中包含的任何内容)。 可以使用 DataGridTemplateColumn 显示模板中定义的数据。 下表列出了默认提供的列类型。

生成的列类型 数据类型
DataGridTextColumn String
DataGridCheckBoxColumn Boolean
DataGridComboBoxColumn Enum
DataGridHyperlinkColumn Uri

DataGrid 可以自定义外观,例如单元格字体、颜色和大小。 DataGrid 支持其他 WPF 控件的所有样式设置和模板功能。 DataGrid 还包括用于编辑、排序和验证的默认和可自定义行为。

下表列出了 DataGrid 的一些常见任务以及如何完成这些任务。 通过查看相关的 API,可以找到详细信息和示例代码。

方案 方法
交替背景色 AlternationCount 属性设置为 2 或更多,然后将 Brush 分配给 RowBackgroundAlternatingRowBackground 属性。
定义单元格和行选择行为 设置 SelectionModeSelectionUnit 属性。
自定义标头、单元格和行的可视外观 将新的 Style 应用于 ColumnHeaderStyleRowHeaderStyleCellStyleRowStyle 属性。
设置调整大小选项 设置 HeightMaxHeightMinHeightWidthMaxWidthMinWidth 属性。 有关详细信息,请参阅 DataGrid 控件中的调整大小选项
访问所选项 检查 SelectedCells 属性以获取选定的单元格,检查 SelectedItems 属性以获取选定的行。 有关详细信息,请参阅 SelectedCells
自定义最终用户交互 设置 CanUserAddRowsCanUserDeleteRowsCanUserReorderColumnsCanUserResizeColumnsCanUserResizeRowsCanUserSortColumns 属性。
取消或更改自动生成的列 处理 AutoGeneratingColumn 事件。
冻结列 FrozenColumnCount 属性设置为 1,并通过将 DisplayIndex 属性设置为 0 将列移动到最左边的位置。
使用 XML 数据作为数据源 DataGrid 上的 ItemsSource 绑定到表示项集合的 XPath 查询。 在 DataGrid 中创建每一列。 通过将绑定上的 XPath 设置为获取项源属性的查询来绑定每一列。 有关示例,请参见 DataGridTextColumn
Title 说明
演练:在 DataGrid 控件中显示 SQL Server 数据库中的数据 介绍如何设置新的 WPF 项目、添加实体框架元素、设置源以及在 DataGrid 中显示数据。
如何:向 DataGrid 控件添加行详细信息 介绍如何为 DataGrid 创建行详细信息。
如何:使用 DataGrid 控件实现验证 介绍如何验证 DataGrid 单元格和行中的值,并显示验证反馈。
DataGrid 控件中的默认键盘和鼠标行为 介绍如何使用键盘和鼠标与 DataGrid 控件进行交互。
如何:在 DataGrid 控件中对数据进行分组、排序和筛选 介绍如何通过对数据进行分组、排序和筛选,以不同方式查看 DataGrid 中的数据。
DataGrid 控件中的重设大小选项 介绍如何在 DataGrid 中控制绝对和自动大小调整。

另请参阅