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

MultiColumnListView

UnityEngine.UIElements 中的类

/

继承自:UIElements.BaseListView

/

在以下实现:UnityEngine.UIElementsModule

建议更改

成功!

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

关闭

提交失败

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

关闭

取消

描述

具有多列支持的列表视图。

属性

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

构造函数

MultiColumnListView使用空标题初始化 MultiColumnListView。

公共方法

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

事件

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

继承的成员

静态属性

arraySizeFieldUssClassName启用显示绑定集合大小后,ListView 大小字段的 USS 类名称
arraySizeFieldWithFooterUssClassName启用页脚后,ListView 大小字段的 USS 类名称。
arraySizeFieldWithHeaderUssClassName启用展开标题后,ListView 大小字段的 USS 类名称。
emptyLabelUssClassNameListView 为空时显示的标签的 USS 类名称。
foldoutHeaderUssClassNameListView 的展开标题的 USS 类名称。
footerAddButtonName页脚中添加按钮元素的名称。
footerRemoveButtonName页脚中删除按钮元素的名称。
footerUssClassNameListView 页脚的 USS 类名称。
itemUssClassNameListView 元素中项目元素的 USS 类名称。
listViewWithFooterUssClassName启用添加/删除页脚后,ListView 的 USS 类名称。
listViewWithHeaderUssClassName启用展开标题后,ListView 的 USS 类名称。
overMaxMultiEditLimitClassNameListView 尝试编辑过多项目时显示的标签的 USS 类名称。
reorderableItemContainerUssClassName可重新排序的动画 ListView 中的项目容器的 USS 类名称。
reorderableItemHandleBarUssClassName可重新排序的动画 ListView 中的拖动句柄栏的 USS 类名称。
reorderableItemHandleUssClassName可重新排序的动画 ListView 中的拖动句柄的 USS 类名称。
reorderableItemUssClassName可重新排序的动画 ListView 中的项目元素的 USS 类名称。
reorderableUssClassName可重新排序的动画 ListView 元素的 USS 类名称。
scrollViewWithFooterUssClassName启用添加/删除页脚后,滚动视图的 USS 类名称。
ussClassNameListView 元素的 USS 类名称。
borderUssClassName具有边框的 BaseVerticalCollectionView 元素的 USS 类名称。
dragHoverBarUssClassName拖动悬停栏的 USS 类名称。
dragHoverMarkerUssClassName用于指示深度的拖动悬停圆形标记的 USS 类名称。
itemAlternativeBackgroundUssClassNameBaseVerticalCollectionView 中奇数行的 USS 类名称。
itemDragHoverUssClassName拖动悬停时应用于项目元素的 USS 类名称。
itemSelectedVariantUssClassNameBaseVerticalCollectionView 中选定项目元素的 USS 类名称。
listScrollViewUssClassNameBaseVerticalCollectionView 中滚动视图的 USS 类名称。
disabledUssClassName本地禁用元素的 USS 类名称。

属性

allowAdd此属性允许用户在单击添加按钮时允许或阻止添加项目。它必须返回 true 或 false。
allowRemove此属性允许用户在单击删除按钮时允许或阻止删除项目。它必须返回 true 或 false。
bindingSourceSelectionMode此属性控制列表中的每个元素是否将自动将其数据源设置为集合源中的正确项目。
headerTitle使用 showFoldoutHeader 时,此属性控制展开标题的文本。
makeFooter此回调允许用户为该控件制作自己的页脚。
makeHeader此回调允许用户为该控件制作自己的标题。
makeNoneElement此回调允许用户设置一个视觉元素来替换 ListView 为空时显示的“列表为空”标签。
onAdd此回调允许用户实现自己的代码,以在单击添加按钮时执行。
onRemove此回调允许用户实现自己的代码,以在单击删除按钮时执行。
overridingAddButtonBehavior此回调允许用户在单击添加按钮时实现一个下拉菜单。
reorderMode此属性控制列表视图的拖放模式。
showAddRemoveFooter此属性控制是否将页脚添加到列表视图。
showBoundCollectionSize此属性控制列表视图是否显示集合大小(项目数)。
showFoldoutHeader此属性控制列表视图是否显示标题,形式为可展开或折叠的展开。
viewController此视图的视图控制器,被转换为 BaseListViewController。
contentContainer返回 BaseVerticalCollectionView 的内容容器。由于 BaseVerticalCollectionView 控件自动管理其内容,因此始终返回 null。
fixedItemHeight列表中单个项目的像素高度。
horizontalScrollingEnabled此属性控制集合视图在内容不适合可见区域时是否显示水平滚动条。
itemsSource集合项目的源数据。
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元素填充区域的矩形,在元素的本地空间中。
面板此 VisualElement 附加到的面板。
父级此 VisualElement 的父级。
拾取模式确定此元素是否可以在鼠标事件或 IPanel.Pick 查询期间被拾取。
解析的样式视觉元素的最终渲染样式值,如当前帧中渲染的那样。(只读)
每点的缩放像素返回面板的缩放结果,该缩放结果考虑了屏幕 DPI 和可自定义的缩放因子,但不考虑元素及其祖先的变换缩放。请参阅 Panel.scaledPixelsPerPoint。此方法仅应在属于面板的元素上调用。
计划检索此 VisualElement 的 IVisualElementScheduler
样式设置 VisualElement 上的样式值。
样式表返回一个 VisualElementStyleSheetSet,用于操作附加到此元素的样式表。
this[int]检索特定索引处的子元素。
工具提示在用户将鼠标悬停在元素上一段时间后,要在信息框内显示的文本。此功能仅在编辑器 UI 中受支持。
变换返回此 VisualElement 的变换对象。ITransform
使用提示指定 VisualElement 的高级预期使用模式的提示值组合。此属性只能在 VisualElement 尚未成为 Panel 的一部分时设置。一旦成为 Panel 的一部分,此属性就实际上变为只读,尝试更改它将引发异常。正确 UsageHints 的规范驱动系统做出更好的决策,关于如何基于预期的使用模式处理或加速某些操作。请注意,这些提示不会影响行为或视觉结果,而只会影响面板和其中元素的整体性能。建议始终考虑指定正确的 UsageHints,但请记住,某些 UsageHints 可能在特定条件下被内部忽略(例如,由于目标平台上的硬件限制)。
用户数据此属性可用于将特定于应用程序的用户数据与此 VisualElement 关联。
视图数据键用于视图数据持久性,例如树展开状态、滚动位置或缩放级别。
可见指示是否应渲染此元素。
视觉树资产源如果生成的元素是从 VisualTreeAsset 克隆的,则存储资产引用。
世界边界返回一个 Rect,表示应用世界变换后的轴对齐边界框 (AABB)。
世界变换返回一个矩阵,该矩阵累积了以下操作(按顺序):-本地缩放-本地旋转-本地平移-布局平移-父世界变换(递归定义 - 当没有父级时考虑单位矩阵)

公共方法

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 层次结构中查找两个 VisualElements 之间的最低共同祖先。
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。

受保护方法

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

事件

itemsAdded此事件针对添加到 itemsSource 的每个项调用。包括项目索引。
itemsRemoved此事件针对从 itemsSource 中删除的每个项调用。包括项目索引。
canStartDrag当拖放操作要在此集合视图中开始时调用。
dragAndDropUpdate当拖放操作在此集合视图中更新时调用。
handleDrop当拖放操作在此集合视图中释放时调用。
itemIndexChanged当项目在 itemsSource 中移动时调用。
itemsChosen当用户对一个或多个项目的选定内容执行操作时触发回调,例如双击或按 Enter 键。
itemsSourceChanged当垂直集合视图的数据源被分配新的引用或新的类型时引发。
onItemsChosen已过时。使用 BaseVerticalCollectionView.itemsChosen 代替。
onSelectedIndicesChange已过时。使用 BaseVerticalCollectionView.selectedIndicesChanged 代替。
onSelectionChange已过时。使用 BaseVerticalCollectionView.selectionChanged 代替。
selectedIndicesChanged当选择发生变化时触发回调。
selectionChanged当选择发生变化时触发回调。
setupDragAndDrop当拖放操作在此集合视图中开始时调用。