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

MultiColumnTreeView

UnityEngine.UIElements 中的类

/

继承自:UIElements.BaseTreeView

/

实现于:UnityEngine.UIElementsModule

建议更改

成功!

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

关闭

提交失败

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

关闭

取消

描述

支持多列的树视图。

属性

columns多列标题的列集合。
sortColumnDescriptions默认情况下按排序排列的列集合。
sortedColumns包含有关当前排序的列的信息。
sortingMode指示如何对列进行排序。若要启用排序,请将其设置为 ColumnSortingMode.Default 或 ColumnSortingMode.Custom。Default 模式使用 MultiColumnController 提供的排序算法,对索引进行操作。您还可以使用 Custom 模式实现自己的排序,方法是响应 columnSortingChanged 事件。
viewController此视图的视图控制器,强制转换为 MultiColumnTreeViewController。

构造函数

MultiColumnTreeView使用空标题初始化 MultiColumnTreeView。

公共方法

SetViewController为此视图分配视图控制器,并注册所有使其正常运行所需事件。

事件

columnSortingChanged如果单击某一列以更改排序,则会引发此事件,允许用户对树视图项进行排序。对于默认实现,请将 sortingMode 设置为 ColumnSortingMode.Default。
headerContextMenuPopulateEvent如果右键单击某一列以显示上下文菜单选项,则会引发此事件,允许用户更改可用选项。

继承的成员

静态属性

itemContentContainerUssClassNameTreeView 项容器元素的 USS 类名称。
itemIndentUssClassNameTreeView 缩进元素的 USS 类名称。
itemToggleUssClassNameTreeView 项切换元素的 USS 类名称。
itemUssClassNameTreeView 项元素的 USS 类名称。
ussClassNameTreeView 元素的 USS 类名称。
borderUssClassName具有边框的 BaseVerticalCollectionView 元素的 USS 类名称。
dragHoverBarUssClassName拖动悬停栏的 USS 类名称。
dragHoverMarkerUssClassName用于指示深度的拖动悬停圆形标记的 USS 类名称。
itemAlternativeBackgroundUssClassNameBaseVerticalCollectionView 中奇数行的 USS 类名称。
itemDragHoverUssClassName在拖动悬停时应用于项元素的 USS 类名称。
itemSelectedVariantUssClassNameBaseVerticalCollectionView 中选定项元素的 USS 类名称。
listScrollViewUssClassNameBaseVerticalCollectionView 中滚动视图的 USS 类名称。
disabledUssClassName本地禁用元素的 USS 类名称。

属性

autoExpand如果为 true,则在将项添加到 TreeView 时自动展开这些项。
itemsSource对 itemsSource 的访问。对于 TreeView,源包含项包装器。
viewController此视图的视图控制器,强制转换为 BaseTreeViewController。
contentContainer返回 BaseVerticalCollectionView 的内容容器。由于 BaseVerticalCollectionView 控件会自动管理其内容,因此始终返回 null。
fixedItemHeight列表中单个项的高度(以像素为单位)。
horizontalScrollingEnabled此属性控制集合视图在内容不适合可见区域时是否显示水平滚动条。
reorderable获取或设置一个值,该值指示用户是否可以拖动列表项以重新排列它们。
selectedIds返回数据源中选定项的持久 ID,无论它们是折叠还是未折叠。始终返回可枚举的,即使没有选中任何项或只选中了一项。
selectedIndex返回或设置数据源中选定项的索引。如果选择了多项,则返回第一项选定项的索引。如果提供了多项,则将它们全部设置为选中状态。
selectedIndices返回数据源中选定项的索引。始终返回可枚举的,即使没有选中任何项或只选中了一项。
selectedItem返回数据源中选定项。如果选择了多项,则返回第一项选定项。
selectedItems返回数据源中选定项。始终返回可枚举的,即使没有选中任何项或只选中了一项。
selectionType控制选择类型。
showAlternatingRowBackgrounds此属性控制集合视图行是否交替显示背景颜色。取自 AlternatingRowBackground 枚举的值。
showBorder启用此属性以在集合视图周围显示边框。
virtualizationMethod当滚动条可见时,用于此集合的虚拟化方法。取自 CollectionVirtualizationMethod 枚举的值。
binding要更新的绑定对象。
bindingPath要绑定的目标属性的路径。
canGrabFocus如果元素可以获取焦点,则返回 true。
delegatesFocus元素是否应将其焦点委派给其子元素。
focusable如果元素可以获取焦点,则为 true。
focusController返回此元素的焦点控制器。
tabIndex用于在焦点环中对可获取焦点的元素进行排序的整数。必须大于或等于零。
childCount此对象 contentContainer 中的子元素数量。
contentRect元素内容区域的矩形,在元素的本地空间中。(只读)
customStyleVisualElement 的自定义样式属性访问器。(只读)
dataSource为此 VisualElement 分配一个数据源,该数据源将覆盖任何继承的数据源。此数据源由所有子元素继承。
dataSourcePath从数据源到值的路径。
dataSourceType可以为此 VisualElement 分配的数据源的可能类型。此信息仅由 UI 生成器用作提示,以便在设计时无法指定有效数据源时,为数据源路径字段提供一些完成。
disablePlayModeTint除非设置为 true,否则默认情况下会应用播放模式色调。它将分层应用于此 VisualElement 及其在编辑器面板上存在的所有子元素。
enabledInHierarchy如果 VisualElement 在其自己的层次结构中已启用,则返回 true。
enabledSelf如果 VisualElement 在本地已启用,则返回 true。
experimental返回 UIElements 实验接口。
generateVisualContent用于生成视觉元素的视觉内容的委托函数。
hierarchy访问此元素的物理层次结构
languageDirection指示元素文本的方向性。该值将传播到元素的子元素。
layoutVisualElement 相对于其父元素的位置和大小,由布局系统计算。(只读)
localBound返回一个 Rect,表示应用变换后但应用布局平移之前,轴对齐边界框 (AABB)。
name此 VisualElement 的名称。
paddingRect元素填充区域的矩形,在元素的本地空间中。
panel此 VisualElement 附加到的面板。
parent此 VisualElement 的父元素。
pickingMode确定此元素是否可以在鼠标事件或 IPanel.Pick 查询期间进行拾取。
resolvedStyle视觉元素的最终渲染样式值,如当前帧中渲染的那样。(只读)
scaledPixelsPerPoint返回面板的缩放结果,该缩放结果考虑了屏幕 DPI 和可自定义的缩放因子,但不考虑元素及其祖先的变换缩放。请参阅 Panel.scaledPixelsPerPoint。这应该只在面板的一部分元素上调用。
schedule检索此 VisualElement 的 IVisualElementScheduler
style在 VisualElement 上设置样式值。
styleSheets返回一个 VisualElementStyleSheetSet,它会操作附加到此元素的样式表。
this[int]检索特定索引处的子元素。
tooltip在用户将鼠标悬停在元素上一段时间后,将在信息框内显示的文本。这仅在编辑器 UI 中受支持。
transform返回此 VisualElement 的变换对象。ITransform
usageHints一组提示值,指定 VisualElement 的高级预期使用模式。此属性只能在 VisualElement 尚未成为面板的一部分时设置。一旦成为面板的一部分,此属性就会变得实际上只读,尝试更改它会引发异常。正确 UsageHints 的指定会促使系统根据预期的使用模式更好地决定如何处理或加速某些操作。请注意,这些提示不会影响行为或视觉结果,只会影响面板及其内部元素的整体性能。建议始终考虑指定正确的 UsageHints,但请记住,在某些情况下,某些 UsageHints 可能在内部被忽略(例如,由于目标平台上的硬件限制)。
userData此属性可用于将应用程序特定的用户数据与此 VisualElement 关联。
viewDataKey用于视图数据持久性,例如树展开状态、滚动位置或缩放级别。
visible指示是否应渲染此元素。
visualTreeAssetSource存储资产引用,如果生成的元素是从 VisualTreeAsset 克隆的。
worldBound返回一个 Rect,表示应用世界变换后的轴对齐边界框 (AABB)。
worldTransform返回一个矩阵,该矩阵累积了以下操作(按顺序):-本地缩放-本地旋转-本地平移-布局平移-父 worldTransform(递归定义 - 如果没有父元素,则考虑恒等式)

公共方法

AddItem将项添加到现有树中。
AddToSelectionById通过 ID 将项添加到当前选择中。
CollapseAll折叠所有 TreeView 项,包括子项。
CollapseItem折叠指定的 TreeView 项。
ExpandAll展开所有 TreeView 项,包括子项。
ExpandItem展开指定的 TreeView 项。
ExpandRootItems展开所有根 TreeView 项。
GetChildrenIdsForIndex获取指定 TreeView 项的子标识符。
GetIdForIndex获取指定 TreeView 项的标识符。
GetItemDataForId获取指定 TreeView 项 ID 的数据。
GetItemDataForIndex获取指定 TreeView 项索引的数据。
GetParentIdForIndex获取指定 TreeView 项的父标识符。
GetRootIds获取根项标识符。
GetSelectedItems获取选定项索引的树数据。
GetTreeCount获取 TreeView 的总项数。
IsExpanded如果指定的 TreeView 项已展开,则返回 true,否则返回 false。
RemoveFromSelectionById通过 ID 从当前选择中删除项。
SetRootItems设置用于默认树视图控制器的根项。
SetSelectionById通过 ID 设置当前选定的项。
SetSelectionByIdWithoutNotify通过 ID 设置一组选定的项,而不会触发选择更改回调。
TryRemoveItem如果找到,则从树中移除一个项。
AddToSelection将一个项添加到选定项的集合中。
ClearSelection取消选中任何选定的项。
GetRootElementForId获取指定集合视图项的根元素。
GetRootElementForIndex获取指定集合视图项的根元素。
Rebuild清除集合视图,重新创建所有可见的视觉元素,并重新绑定所有项。
RefreshItem如果单个项当前在集合视图中可见,则重新绑定该项。
RefreshItems重新绑定当前可见的所有项。
RemoveFromSelection从选定项的集合中移除一个项。
ScrollTo滚动到特定的 VisualElement。
ScrollToItem滚动到特定的项索引并使其可见。
ScrollToItemById滚动到特定的项 ID 并使其可见。
SetSelection设置当前选定的项。
SetSelectionWithoutNotify设置一组选定的项,而不会触发选择更改回调。
HasBubbleUpHandlers如果事件传播的 BubbleUp 阶段的事件处理程序已附加到此对象,则返回 true。
HasTrickleDownHandlers如果事件传播的 TrickleDown 阶段的事件处理程序附加到此对象,则返回 true。
RegisterCallback将事件处理程序添加到实例。如果事件处理程序已注册到相同阶段(TrickleDown 或 BubbleUp),则此方法无效。
RegisterCallbackOnce将事件处理程序添加到实例。如果事件处理程序已注册到相同阶段(TrickleDown 或 BubbleUp),则此方法无效。事件处理程序在恰好被调用一次后会自动取消注册。
UnregisterCallback从实例中移除回调。
Blur告诉元素释放焦点。
Focus尝试将焦点赋予此元素。
Add将一个元素添加到此元素的 contentContainer 中。
AddToClassList将一个类添加到元素的类列表中,以便从 USS 赋予样式。请注意,类名区分大小写。
BringToFront将此元素移到其父级子级列表的末尾。该元素将在视觉上位于任何重叠的同级元素之前。
Children返回其 contentContainer 中的元素。
ClassListContains在该元素的类列表中搜索一个类。
Clear从该元素的 contentContainer 中移除所有子元素。
ClearBinding从元素中移除绑定。
ClearBindings从元素中移除所有绑定。
ClearClassList从该元素的类列表中移除所有类。AddToClassList
Contains检查该元素是否是指定子元素的祖先。
ContainsPoint检查指定点是否与该 VisualElement 的布局相交。
ElementAt检索特定索引处的子元素。
EnableInClassList启用或禁用具有给定名称的类。
FindAncestorUserData在该 VisualElement 的层次结构中向上搜索并检索存储的 userData(如果有)。
FindCommonAncestor在 VisualTree 层次结构中,找到两个 VisualElement 之间的最低公共祖先。
GetBinding获取为提供的目标属性提供的绑定实例。
GetBindingInfos获取有关当前元素的所有绑定的信息。
GetClasses检索该元素的类。
GetDataSourceContext查询绑定对象的 dataSource 和 dataSourcePath。
GetFirstAncestorOfType从该元素的父级开始,向上遍历层次结构,并返回此类型的第一个 VisualElement。
GetFirstOfType从该元素开始,向上遍历层次结构,并返回此类型的第一个 VisualElement。
GetHierarchicalDataSourceContext查询从层次结构继承的 dataSource 和 dataSourcePath。
HasBinding允许了解目标属性是否与其关联的绑定。
IndexOf检索指定 VisualElement 的子索引。
Insert将一个元素插入到该元素的 contentContainer 中。
MarkDirtyRepaint在下一帧中触发 VisualElement 的重绘。此方法在需要重绘时在内部调用,例如当 UIElements.BaseField_1.value 发生更改或 Label 中的文本发生更改时。如果您正在实现自定义控件,则可以在需要重绘时调用此方法来触发重绘,例如当使用 generateVisualContent 渲染网格并且网格数据发生更改时。
PlaceBehind将该元素放在其父级子级列表中同级元素的前面。如果该元素和同级元素的位置重叠,则该元素将在视觉上位于其同级元素的后面。
PlaceInFront将该元素放在其父级子级列表中同级元素的后面。如果该元素和同级元素的位置重叠,则该元素将在视觉上位于其同级元素的前面。
Remove从 contentContainer 层次结构中移除此子元素。
RemoveAt从该元素的 contentContainer 中移除位于此位置的子元素。
RemoveFromClassList从元素的类列表中移除一个类。
RemoveFromHierarchy从其父级层次结构中移除该元素。
SendEvent向事件处理程序发送事件。
SendToBack将该元素发送到其父级子级列表的开头。该元素将在视觉上位于任何重叠的同级元素的后面。
SetBinding在目标和源之间分配绑定。
SetEnabled更改 VisualElement 的启用状态。禁用的 VisualElement 不会接收大多数事件。
Sort重新排序来自该 VisualElement contentContainer 的子元素。
ToggleInClassList在将给定类名添加到类列表和从类列表中移除给定类名之间切换。
TryGetBinding获取为提供的目标属性提供的绑定实例。
TryGetDataSourceContext查询绑定对象的 dataSource 和 dataSourcePath。
TryGetLastBindingToSourceResult返回从 UI 到数据源的绑定对象的最后一个 BindingResult。
TryGetLastBindingToUIResult返回从数据源到 UI 的绑定对象的最后一个 BindingResult。

Protected Methods

CreateViewController为该视图创建视图控制器。在继承者中覆盖此方法以更改控制器类型。
HandleEventBubbleUp在 BubbleUp 阶段对该元素执行逻辑,在该元素的 BubbleUp 回调之前立即执行。调用 StopPropagation 将阻止沿着传播路径进一步调用此方法。
HandleEventTrickleDown在 TrickleDown 阶段对该元素执行逻辑,在该元素的 TrickleDown 回调之后立即执行。调用 StopPropagation 将阻止沿着传播路径进一步调用此方法。
NotifyPropertyChanged通知数据绑定系统控件的属性已更改。

事件

itemExpandedChanged当项目展开或折叠时引发。
canStartDrag当拖放操作想要在此集合视图中开始时调用。
dragAndDropUpdate当拖放操作在此集合视图中更新时调用。
handleDrop当拖放操作在此集合视图中释放时调用。
itemIndexChanged当项目在 itemsSource 中移动时调用。
itemsChosen当用户对一个或多个项目的选定操作,例如双击或按下 Enter 时触发的回调。
itemsSourceChanged当垂直集合视图的数据源被分配新的引用或新类型时引发。
onItemsChosen已弃用。请使用 BaseVerticalCollectionView.itemsChosen 代替。
onSelectedIndicesChange已弃用。请使用 BaseVerticalCollectionView.selectedIndicesChanged 代替。
onSelectionChange已弃用。请使用 BaseVerticalCollectionView.selectionChanged 代替。
selectedIndicesChanged当选择更改时触发的回调。
selectionChanged当选择更改时触发的回调。
setupDragAndDrop当拖放操作在此集合视图中开始时调用。