通过


DataGrid 元素

DataGrid 控件由多个专用组件类型组成,这些组件类型协同工作以显示和管理表格数据。 了解这些组件及它们与 DataGrid 的关系,有助于您根据特定需求自定义数据网格的外观和行为。

元素概述

DataGrid 由以下主要元素组成:

这些元素按层次结构 DataGrid 排列,以创建熟悉的表格布局。 DataGridColumnHeadersPresenter 在顶部显示列标题,而每个 DataGridRow 包含多个 DataGridCell 元素以及一个 DataGridRowHeader

自定义元素

可以通过应用样式或修改模板来自定义每个元素。 例如:

有关样式设置和模板化的详细信息,请参阅 样式设置和模板化

DataGridCell

DataGridCell 元素表示数据网格中的单个单元格,并响应用户交互,例如选择和编辑。

部件

DataGridCell 元素不定义任何命名的模板部件。

States

下表列出了元素的 DataGridCell 视觉状态。

VisualState 名称 VisualStateGroup 名称 Description
Normal CommonStates 默认状态。
鼠标悬停 CommonStates 鼠标指针悬停在单元格上方。
Focused FocusStates 单元格具有焦点。
未聚焦 FocusStates 单元格没有焦点。
Current 当前状态 该单元格是当前单元格。
Regular 当前状态 该单元格不是当前单元格。
Display InteractionStates 单元格处于显示模式。
编辑 InteractionStates 单元格处于编辑模式。
选定 SelectionStates 已选择该单元格。
未选中 SelectionStates 未选择单元格。
无效焦点 ValidationStates 单元格无效且具有焦点。
无效未聚焦 ValidationStates 单元格无效,没有焦点。
有效 ValidationStates 单元格有效。

DataGridRow

DataGridRow 元素表示网格中的一行数据。 每行包含多个单元格和一个行标题。

部件

DataGridRow 元素不定义任何命名的模板部件。

States

下表列出了元素的 DataGridRow 视觉状态。

VisualState 名称 VisualStateGroup 名称 Description
Normal CommonStates 默认状态。
鼠标悬停 CommonStates 鼠标指针悬停在行上方。
鼠标悬停_编辑 CommonStates 鼠标指针位于行上,行处于编辑模式。
MouseOver_Selected CommonStates 鼠标指针位于行上,并且已选择该行。
鼠标悬停_未聚焦_编辑 CommonStates 鼠标指针位于行上,行处于编辑模式,没有焦点。
鼠标悬停_未聚焦_已选择 CommonStates 鼠标指针位于行上,该行已被选中,并且没有焦点。
标准交替行 CommonStates 该行是一个交替排列的行。
正常编辑 CommonStates 该行处于编辑模式。
正常_已选择 CommonStates 选择该行。
未聚焦编辑 CommonStates 该行处于编辑模式,没有焦点。
未聚焦_已选择 CommonStates 该行被选中,但没有焦点。
无效焦点 ValidationStates 控件无效并且处于焦点状态。
无效未聚焦 ValidationStates 控件无效,没有焦点。
有效 ValidationStates 控件有效。

DataGridRowHeader

DataGridRowHeader 元素显示在每行左侧,通常显示行选择指示器或行号。

部件

下表列出了 DataGridRowHeader 元素的命名部件。

部件 类型 Description
PART_TopHeaderGripper Thumb 用于从顶部调整行标题大小的元素。
PART_BottomHeaderGripper Thumb 用于从底部调整行标题大小的元素。

States

下表列出了元素的 DataGridRowHeader 视觉状态。

VisualState 名称 VisualStateGroup 名称 Description
Normal CommonStates 默认状态。
鼠标悬停 CommonStates 鼠标指针位于行上。
鼠标悬停_当前行 CommonStates 鼠标指针位于一行之上,并且该行是当前的行。
鼠标悬停_当前行_已选 CommonStates 鼠标指针位于行上,当前行处于选中状态。
MouseOver_EditingRow CommonStates 鼠标指针悬停在某行上,该行处于编辑模式。
鼠标悬停_已选 CommonStates 鼠标指针位于行上,且该行被选中。
MouseOver_Unfocused_CurrentRow_Selected CommonStates 鼠标指针位于行上,该行是当前行且处于选中状态,并且没有焦点。
悬停_未聚焦_编辑行 (MouseOver_Unfocused_EditingRow) CommonStates 鼠标指针悬停在行上,该行处于编辑模式,且没有焦点。
鼠标悬停_未聚焦_已选中 CommonStates 鼠标指针位于行上,该行已被选中,但未获得焦点。
常规_当前行 CommonStates 该行是当前行。
正常_当前行_已选中 CommonStates 该行是当前行,并且已被选中。
Normal_EditingRow CommonStates 该行处于编辑模式。
Normal_Selected CommonStates 选择该行。
未聚焦_当前行_已选择 CommonStates 该行是当前行,处于选中状态,并且没有焦点。
失焦_编辑行 CommonStates 该行处于编辑模式,没有焦点。
未聚焦_已选择 CommonStates 该行被选中,但没有焦点。
无效焦点 ValidationStates 控件无效并且处于焦点状态。
无效未聚焦 ValidationStates 控件无效,没有焦点。
有效 ValidationStates 控件有效。

DataGridColumnHeadersPresenter

DataGridColumnHeadersPresenter 元素包含所有列标题,并在数据网格顶部的行中显示它们。

部件

下表列出了 DataGridColumnHeadersPresenter 元素的命名部件。

部件 类型 Description
PART_FillerColumnHeader DataGridColumnHeader 列标题的占位符。

States

下表列出了元素的 DataGridColumnHeadersPresenter 视觉状态。

VisualState 名称 VisualStateGroup 名称 Description
无效焦点 ValidationStates 单元格无效且具有焦点。
无效未聚焦 ValidationStates 单元格无效,没有焦点。
有效 ValidationStates 单元格有效。

DataGridColumnHeader(数据网格列标题)

DataGridColumnHeader 元素表示列的标题。 列标题通常显示列名称,并在单击时提供排序功能。

部件

下表列出了 DataGridColumnHeader 元素的命名部件。

部件 类型 Description
PART_LeftHeaderGripper Thumb 用于从左侧调整列标题大小的元素。
PART_右侧标题夹持器 Thumb 用于从右侧调整列标题大小的元素。

States

下表列出了元素的 DataGridColumnHeader 视觉状态。

VisualState 名称 VisualStateGroup 名称 Description
Normal CommonStates 默认状态。
鼠标悬停 CommonStates 鼠标指针位于控件上。
已按下 CommonStates 按下控制键。
SortAscending SortStates 列按升序排序。
SortDescending SortStates 列按降序排序。
未排序 SortStates 该列未排序。
无效焦点 ValidationStates 控件无效并且处于焦点状态。
无效未聚焦 ValidationStates 控件无效,没有焦点。
有效 ValidationStates 控件有效。

另请参阅