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

PopupField<T0>

UnityEngine.UIElements 中的类

/

继承自:UIElements.BasePopupField_2

/

实现于:UnityEngine.UIElementsModule

建议修改

成功!

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

关闭

提交失败

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

关闭

取消

描述

通用弹出式选择字段。

以下示例展示了如何为自定义数据类型创建弹出式字段。

using System.Collections.Generic;
using UnityEngine.UIElements;

public class MyData { public string name; public int id; }

public class MyPopupField : PopupField<MyData> { public MyPopupField() { formatSelectedValueCallback = FormatItem; formatListItemCallback = FormatItem;

// Add some example data choices = new List<MyData> { new MyData { name = "First", id = 1 }, new MyData { name = "Second", id = 2 }, new MyData { name = "Third", id = 3 }, }; }

static string FormatItem(MyData myData) { return myData.name; } }

静态属性

inputUssClassName此类型元素中输入元素的 USS 类名。
labelUssClassName此类型元素中标签的 USS 类名。
ussClassName此类型元素的 USS 类名。

属性

formatListItemCallback回调函数,提供用于填充弹出式菜单的字符串表示形式。
formatSelectedValueCallback回调函数,提供用于显示所选值的字符串表示形式。
index弹出式菜单中当前选定的索引。设置索引将更新值字段并发送属性更改通知。
value弹出式菜单中当前选定的值。

构造函数

PopupField_1构造一个 PopupField。

继承的成员

静态属性

alignedFieldUssClassName在检查器元素中对齐的元素的 USS 类名
labelDraggerVariantUssClassName此类型元素中标签的 USS 类名,当标签上附加了拖动器时。
mixedValueLabelUssClassName显示混合值的元素的 USS 类名
noLabelVariantUssClassName此类型元素的 USS 类名,当没有标签时。
arrowUssClassName此类型元素中箭头指示器的 USS 类名。
inputUssClassName此类型元素中输入元素的 USS 类名。
labelUssClassName此类型元素中标签的 USS 类名。
textUssClassName此类型元素中文本元素的 USS 类名。
ussClassName此类型元素的 USS 类名。
disabledUssClassName本地禁用元素的 USS 类名。

属性

label表示将出现在字段旁边的标签的字符串。
labelElement这是出现在字段输入旁边的标签对象。
mixedValueLabel用于提供编辑多个不同值的视觉效果的只读标签。
rawValue元素的值。
showMixedValue设置为 true 时,会为字段提供编辑多个不同值的视觉效果。
value与字段关联的值。
choices要在弹出式菜单中显示的选择列表。
text这是向用户显示的当前弹出式选择的文本。
textElement这是显示的文本。
binding将要更新的绑定对象。
bindingPath要绑定的目标属性的路径。
canGrabFocus如果元素可以获得焦点,则返回 true。
delegatesFocus元素是否应该将焦点委托给其子元素。
focusable如果元素可以获得焦点,则为 true。
focusController返回此元素的焦点控制器。
tabIndex用于在焦点环中对可获得焦点的元素进行排序的整数。必须大于或等于零。
childCount此对象 contentContainer 中的子元素数量。
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(递归定义 - 在没有父元素时考虑单位矩阵)

公共方法

SetValueWithoutNotify允许更改值而不触发任何更改事件。
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。

受保护方法

UpdateMixedValueContent根据 showMixedValue 更新字段的视觉内容。
HandleEventBubbleUp在 BubbleUp 阶段对此元素执行逻辑,紧接在该元素的 BubbleUp 回调之前。调用 StopPropagation 将阻止在传播路径上进一步调用此方法。
HandleEventTrickleDown在 TrickleDown 阶段对此元素执行逻辑,紧接在该元素的 TrickleDown 回调之后。调用 StopPropagation 将阻止在传播路径上进一步调用此方法。
NotifyPropertyChanged通知数据绑定系统控件的属性已更改。