Version: 2020.3
从 C# 加载 UXML
UQuery

UXML 元素参考

以下表格概括了 UnityEngine.UIElements and UnityEditor.UIElements 命名空间中提供的 UXML 元素。

基本元素

Element 功能 命名空间 允许的子元素 Attributes
VisualElement 所有视觉元素的基类。 UnityEngine.UIElements 任意数量的 VisualElement class:以空格分隔的名称列表。
style:用于对元素进行样式设置的 USS 指令。
name:此元素的唯一字符串标识符。
picking-mode:设置为 PositionIgnore。默认值为 Position
tooltip:鼠标悬停在元素上时,将显示一个字符串。
focusable:一个布尔值,指示是否可聚焦某个元素。默认设置为 false(无法聚焦)。这取代了已弃用的 focus-index 元素。
tabindex:一个整数,定义元素的 Tab 键移动位置以及在树中的位置。正值会增加 Tab 键移动优先级。默认值为 0。这取代了已弃用的 focus-index 元素。
view-data-key:一个字符串,定义用于元素序列化的键。
该元素还接受任何其他属性。
BindableElement 可绑定到 SerializedProperty 的元素。属性的值和显示的值是同步的。 UnityEngine.UIElements 任意数量的 VisualElement binding-path:此元素绑定到的属性的路径。

实用功能

Element 功能 命名空间 允许的子元素 Attributes
Box 此元素与 VisualElement 类似,但在其内容周围绘制一个框。 UnityEngine.UIElements 任意数量的 VisualElement VisualElement 的所有属性
TextElement 用于显示文本的元素。 UnityEngine.UIElements VisualElement 的所有属性
text:元素应该显示的文本。
Label 文本标签。 UnityEngine.UIElements TextElement 的所有属性
Image 显示图像。 UnityEngine.UIElements VisualElement 的所有属性
IMGUIContainer 绘制 IMGUI 内容 UnityEngine.UIElements VisualElement 的所有属性
focus-index 默认值为 0
focusable 默认值为 true
Foldout 一个元素,具有开关按钮来显示或隐藏其内容。 UnityEngine.UIElements 任意数量的 VisualElement BindableElement 的所有属性

模板

Element 功能 命名空间 允许的子元素 Attributes
Template 引用另一个可使用 Instance 元素进行实例化的 UXML 模板。 UnityEngine.UIElements name:此元素的唯一字符串标识符
path:要加载的 UXML 文件的路径
Instance Template 的实例 UnityEngine.UIElements template:要实例化的 Templatename
TemplateContainer 模板容器。 UnityEngine.UIElements BindableElement 的所有属性
template:此模板的字符串标识符

控件

Element 功能 命名空间 允许的子元素 Attributes
BaseField<T> 所有字段的抽象基类。 UnityEngine.UIElements BindableElement 的所有属性
focus-index 默认值为 0
focusable 默认值为 true
label:与字段关联的标签的文本
BaseFieldTraits<ValueType, UxmlType> UnityEngine.UIElements BaseField<ValueType> 的所有属性
valueValueType 类型的字段的基值
Button 标准按钮。 UnityEngine.UIElements TextElement 的所有属性
RepeatButton 按下时反复执行某项操作的按钮。 UnityEngine.UIElements TextElement 的所有属性
delay:元素执行操作之前的初始延迟(以毫秒为单位)。默认值为 0
interval:每次重复操作之间的间隔(以毫秒为单位)。默认值为 0
Toggle 显示为复选框的一个开关按钮。 UnityEngine.UIElements BaseFieldTraits<bool, UxmlBoolAttributeDescription> 的所有属性
text:开关的右侧标签。
Scroller 滚动条。 UnityEngine.UIElements VisualElement 的所有属性
low-value:滚动条的最小值
high-value:滚动条的最大值
direction:设置为 HorizontalVertical。默认值为 Vertical
value:滚动条光标的位置
Slider 滑动条。 UnityEngine.UIElements BaseFieldTraits<float, UxmlFloatAttributeDescription> 的所有属性
low-value:滑动条的最小值
high-value:滑动条的最大值
direction:设置为 HorizontalVertical。默认为Horizontal
page-size:滑动条的页面大小
SliderInt 整数值的滑动条。 UnityEngine.UIElements BaseFieldTraits<int, UxmlIntAttributeDescription> 的所有属性
low-value:滑动条的最小值
high-value:滑动条的最大值
direction:设置为 HorizontalVertical。默认为Horizontal
page-size:滑动条的页面大小
MinMaxSlider 让用户指定最小值和最大值的滑动条。 UnityEngine.UIElements BaseField<Vector2> 的所有属性
low-limit:滚动条的最小值
high-limit:滚动条的最大值
min-value:滑动条光标的最小值
max-value:滑动条光标的最大值
EnumField 一个字段,接受基础 Enum 的字符串值。 UnityEditor.UIElements BaseField<Enum> 的所有属性
type:一个字符串,表示 C# 类型的基础 Enum。如果类型在用户程序集中,则必须将程序集名称添加到类型名称中:MyNamespace.MyEnum, MyAssembly。始终需要 type 字符串。
value:一个字符串,表示该字段的值
MaskField 一个弹出菜单,用户可以从其中选择一组值。 UnityEditor.UIElements BaseField<int> 的所有属性
choices:显示在弹出菜单中的以逗号分隔的列表(最多 32 个选项)
value:一个表示字段值的整数(32 位掩码)。
LayerField 一个弹出菜单,用户可以从其中选择图层 UnityEditor.UIElements BaseField<int> 的所有属性
value:一个表示字段值的整数(选定的图层编号)。
LayerMaskField 一个弹出菜单,用户可以从其中选择一组图层 UnityEditor.UIElements MaskField 的所有属性
TagField 一个弹出菜单,用户可以从其中选择标签 UnityEditor.UIElements BaseField<string> 的所有属性
value:一个表示字段值的字符串(选定的标签名称)。
ProgressBar 一个显示操作进度的进度条。 UnityEditor.UIElements BindableElement 的所有属性
low-value:一个表示进度条最小值的浮点数。默认值为 0。
high-value:一个表示进度条最大值的浮点数。默认值为 100。
title:一个表示进度条标题的字符串。

文本输入

Element 功能 命名空间 允许的子元素 Attributes
TextInputBaseField<TValueType> 所有文本字段的抽象基类。 UnityEngine.UIElements BaseFieldTraits<string, UxmlStringAttributeDescription> 的所有属性
text:字段的文本值
max-length:该字段可以包含的最大字符数。默认值 (-1) 表示对文本长度不设限制。
password:一个布尔值,指示是否应使用 maskCharacter 字符来显示字段内容。默认设置为 false
mask-character:一个字符,在 passwordtrue 时显示字段内容。默认值为字符 *
readonly:一个布尔值,指示该字段为只读字段。默认值为 false
TextField 一个可编辑的文本字段。 UnityEngine.UIElements TextInputBaseField<string> 的所有属性
multiline:一个布尔值,指示文本字段是否将文本显示为多行。设置为 true 可显示为多行,或者设置为 false 可显示为单行并忽略文本中的任何换行符。默认值为 false
IntegerField 一个文本字段,可接受整数(32 位)值。 UnityEditor.UIElements BaseFieldTraits<int, UxmlIntAttributeDescription> 的所有属性
LongField 一个文本字段,可接受长整数(64 位)值。 UnityEditor.UIElements BaseFieldTraits<long, UxmlLongAttributeDescription> 的所有属性
FloatField 一个文本字段,可接受单精度浮点值。 UnityEditor.UIElements BaseFieldTraits<float, UxmlFloatAttributeDescription> 的所有属性
DoubleField 一个文本字段,可接受双精度浮点值。 UnityEditor.UIElements BaseFieldTraits<double, UxmlDoubleAttributeDescription> 的所有属性
Vector2Field 一组(两个)文本字段,可接受浮点值,用于编辑 Vector2 的值。 UnityEditor.UIElements BaseField<Vector2> 的所有属性
x:X 坐标值
y:Y 坐标值
Vector2IntField 一组(两个)文本字段,可接受整数值,用于编辑 Vector2Int 的值。 UnityEditor.UIElements BaseField<Vector2Int> 的所有属性
x:X 坐标值
y:Y 坐标值
Vector3Field 一组(三个)文本字段,可接受浮点值,用于编辑 Vector3 的值。 UnityEditor.UIElements BaseField<Vector3> 的所有属性
x:X 坐标值
y:Y 坐标值
z:Z 坐标值
Vector3IntField 一组(三个)文本字段,可接受整数值,用于编辑 Vector3Int 的值。 UnityEditor.UIElements BaseField<Vector3Int> 的所有属性
x:X 坐标值
y:Y 坐标值
z:Z 坐标值
Vector4Field 一组(四个)文本字段,可接受浮点值,用于编辑 Vector4 的值。 UnityEditor.UIElements BaseField<Vector4> 的所有属性
x:X 坐标值
y:Y 坐标值
z:Z 坐标值
w:W 坐标值
RectField 一组(四个)文本字段,可接受浮点值,用于编辑矩形的值。 UnityEditor.UIElements BaseField<Rect> 的所有属性
x:左上角 X 坐标的值
y:左上角 Y 坐标的值
w:矩形的宽度
h:矩形的高度
RectIntField 一组(四个)文本字段,可接受整数值,用于编辑矩形的值。 UnityEditor.UIElements BaseField<RectInt> 的所有属性
x:左上角 X 坐标的值
y:左上角 Y 坐标的值
w:矩形的宽度
h:矩形的高度
BoundsField 一组(六个)文本字段,可接受浮点值,用于编辑边界矩形的值。 UnityEditor.UIElements BaseField<Bounds> 的所有属性
cx:中心 X 坐标的值
cy:中心 Y 坐标的值
cz:中心 Z 坐标的值
ex:范围 X 坐标的值
ey:范围 Y 坐标的值
ez:范围 Z 坐标的值
BoundsIntField 一组(六个)文本字段,可接受整数值,用于编辑边界矩形的值。 UnityEditor.UIElements BaseField<BoundsInt> 的所有属性
px:位置 X 坐标的值
py:位置 Y 坐标的值
pz:位置 Z 坐标的值
sx:大小 X 坐标的值
sy:大小 Y 坐标的值
sz:大小 Z 坐标的值

复杂小部件

Element 功能 命名空间 允许的子元素 Attributes
PropertyField 一个标签和一个用于编辑值的字段。 UnityEditor.UIElements VisualElement 的所有属性
binding-path:此元素绑定到的属性的路径
label:字段的标签
PropertyControl<int> 一个标签和一个用于编辑 int 类型值的字段。 UnityEditor.UIElements BaseField<int> 的所有属性
value-type:一个字符串,表示值的类型
value:字段的值
PropertyControl<long> 一个标签和一个用于编辑 long 类型值的字段。 UnityEditor.UIElements BaseField<long> 的所有属性
value-type:一个字符串,表示值的类型
value:字段的值
PropertyControl<float> 一个标签和一个用于编辑 float 类型值的字段。 UnityEditor.UIElements BaseField<float> 的所有属性
value-type:一个字符串,表示值的类型
value:字段的值
PropertyControl<double> 一个标签和一个用于编辑 double 类型值的字段。 UnityEditor.UIElements BaseField<double> 的所有属性
value-type:一个字符串,表示值的类型
value:字段的值
PropertyControl<string> 一个标签和一个用于编辑 string 类型值的字段。 UnityEditor.UIElements BaseField<string> 的所有属性
value-type:一个字符串,表示值的类型
value:字段的值
ColorField 拾色器字段。 UnityEditor.UIElements BaseFieldTraits<Color, UxmlColorAttributeDescription> 的所有属性
show-eye-dropper:一个布尔值,指示是否显示取色器。设置为 true 可显示取色器,设置为 false 可隐藏取色器。默认设置为 true
show-alpha:一个布尔值,指示是否显示 Alpha 控件。设置为 true 可显示该控件,设置为 false 则将其隐藏。默认设置为 true
hdr:一个布尔值,指示是否使用高动态范围拾色器。设置为 true 可使用拾色器。默认情况下,这设置为 false
CurveField 一个曲线编辑器字段。 UnityEditor.UIElements BaseField<AnimationCurve> 的所有属性
GradientField 一个渐变编辑器字段。 UnityEditor.UIElements BaseField<Gradient> 的所有属性
ObjectField 一个对象选择器字段。 UnityEditor.UIElements BaseField<Object> 的所有属性
allow-scene-objects:一个布尔值,指示是否可以从场景选择对象。设置为 true 可启用对象选择,设置为 false 则将其禁用。默认情况下,这设置为 true
InspectorElement 在 Inspector 窗口中显示属性的元素。 UnityEditor.UIElements 任意数量的 VisualElement BindableElement 的所有属性

工具栏

Element 功能 命名空间 允许的子元素 Attributes
Toolbar 用于容纳工具栏项的容器。 UnityEditor.UIElements 任何 VisualElement VisualElement 的所有属性
ToolbarButton 工具栏的按钮。 UnityEditor.UIElements Button 的所有属性
ToolbarToggle 工具栏的开关。 UnityEditor.UIElements Toggle 的所有属性
ToolbarMenu 工具栏的下拉菜单。菜单有一个向下的箭头。 UnityEditor.UIElements TextElement 的所有属性
ToolbarSearchField 工具栏的搜索字段。 UnityEditor.UIElements VisualElement 的所有属性
ToolbarPopupSearchField 一个带有搜索选项弹出菜单的搜索字段。 UnityEditor.UIElements VisualElement 的所有属性
ToolbarSpacer 一个元素,用于在工具栏按钮之间插入固定数量的空格。 UnityEditor.UIElements VisualElement 的所有属性

视图和窗口

Element 功能 命名空间 允许的子元素 Attributes
ListView 显示元素列表。 UnityEngine.UIElements VisualElement 的所有属性
item-height:列表中每一项的高度(以像素为单位)
ScrollView 一个带有水平和垂直滚动条的可滚动视图。 UnityEngine.UIElements 任意数量的 VisualElement VisualElement 的所有属性
mode:滚动视图的模式。默认设置为 ScrollViewMode.Vertical
show-horizontal-scroller:一个布尔值,指示是否显示水平滚动条。默认设置为 false
show-vertical-scroller:一个布尔值,指示是否显示垂直滚动条。默认情况下,这设置为 false
horizontal-page-size:水平滚动条的页面大小值
vertical-page-size:垂直滚动条的页面大小
TreeView 在树层级视图中显示元素的视图。 UnityEngine.UIElements 任意数量的 VisualElement VisualElement 的所有属性
item-height:显示的基础列表中的项高度
PopupWindow 一个显示在其他内容之上的 UIElements 窗口。 UnityEditor.UIElements TextElement 的所有属性

  • 2019–05–20 页面已修订
从 C# 加载 UXML
UQuery