版本: Unity 6 (6000.0)
语言英语
  • C#

MultiColumnHeader

UnityEditor.IMGUI.Controls 中的类

建议更改

成功!

感谢您帮助我们提高 Unity 文档的质量。虽然我们无法接受所有提交内容,但我们确实阅读了用户提出的每个建议更改,并在适用的情况下进行更新。

关闭

提交失败

由于某些原因,您的建议更改无法提交。请 <a>稍后再试</a>。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

描述

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

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

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

属性

allowDraggingColumnsToReorder使用此属性来控制用户是否可以拖放列以重新排序。
canSort使用此属性来控制是否为所有列启用排序。
currentColumnIndex在事件期间当前正在处理的列的索引。此属性可用于在覆盖 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用于切换列可见性的方法。

事件

columnSettingsChanged当列的任何设置发生更改时(例如,列宽已调整大小)引发的事件。
columnsSwapped当用户切换两列的顺序时引发的事件。
sortingChanged订阅此事件以在排序发生更改时收到通知。
visibleColumnsChanged订阅此事件以在可见列数量发生更改时收到通知。

委托

HeaderCallback用于 MultiColumnHeader 事件的委托。