Version: 2023.2

MultiColumnHeader

class in UnityEditor.IMGUI.Controls

切换到手册

描述

MultiColumnHeader 是一种通用类,例如可以与 TreeView 结合使用来创建多列树视图和列表视图。

它支持通过拖动来调整列宽的大小,并提供用于响应用户输入的实用回调。 请注意,用户可以使用 MultiColumnHeader 的上下文菜单隐藏列。

API 中使用的术语:参数名称 columnIndex 用于 MultiColumnHeaderState 对象中列数组的索引。参数名称 visibleColumnIndex 指的是 MultiColumnHeader 中显示的当前可见列索引。

变量

allowDraggingColumnsToReorderUse this property to control whether the user can drag and drop columns to re-order them.
canSort使用此属性控制是否为所有列启用排序。
currentColumnIndexThe index of the column that is currently being handled during an event. This property can be used for column specific handling when overriding AddColumnHeaderContextMenuItems
height多列标题的可自定义高度。
sortedColumnIndex设置为主排序列的列的索引。此列显示标题文本上方的排序箭头。
state这是 MultiColumnHeader 的状态。

构造函数

MultiColumnHeader构造函数。

公共函数

GetCellRect使用 visibleColumnIndex 和 rowRect 参数计算列和行的单元格矩形。
GetColumn针对给定的列索引返回列数据。
GetColumnRect返回给定可见列索引的标题列矩形。
GetVisibleColumnIndex从列索引转换为可见列索引。
IsColumnVisible检查列当前在 MultiColumnHeader 中是否可见。
IsSortedAscending检查列的排序顺序状态。
OnGUI在给定矩形中渲染和处理 MultiColumnHeader 的输入。
Repaint请求重绘包含 MultiColumnHeader 的窗口。
ResizeToFit调整已启用自动调整大小的列的列宽,以使所有列适应 MultiColumnHeader 渲染矩形的宽度。
SetSortDirection更改给定列的排序方向。
SetSorting设置主排序列及其排序顺序。
SetSortingColumns设置多个排序列和相关的排序顺序。

受保护的函数

AddColumnHeaderContextMenuItems重载此方法可展开单击标题区域时显示的默认上下文菜单项。
ColumnHeaderClicked重载可在单击列标题时自定义行为。
ColumnHeaderGUI重载可自定义单个列标题的 GUI。
OnSortingChanged在排序发生更改时调用并会分发 sortingChanged 事件。
OnVisibleColumnsChanged在可见列的数量更改时调用并会分发 visibleColumnsChanged 事件。
SortingButton提供列标题的按钮逻辑和排序箭头的渲染(如果可见)。
ToggleVisibility用于切换列可见性的方法。

Events

columnSettingsChangedEvent raised when any settings from a column has changed (for example, a column width was resized).
columnsSwappedEvent raised when the user switches the order of two columns.
sortingChanged订阅此事件可在排序发生变化时收到通知。
visibleColumnsChanged订阅此事件可在可见列的数量发生变化时收到通知。

委托

HeaderCallback用于 MultiColumnHeader 中的事件的委托。