Version: 6000.3
语言: 中文
UI Builder 入门
使用UXML实例作为模板

使用元素

UI Toolkit 中最基本的构建块是“VisualElement”。这些元素被排序到具有父子关系的层次结构树中。这称为可视化树轻量级节点组成的对象图,用于保存窗口或面板中的所有元素。它定义了使用 UI 工具包构建的每个 UI。
请参阅术语表
.

添加元素

您需要将元素添加到层次结构中才能创建 UI。要将元素添加到 UI Builder 中的层次结构中,请将其从“库”选项卡拖到“层次结构”窗口中。您还可以双击中的元素,将其附加到层次结构中。默认情况下,元素未命名,因此它们在层次结构中显示为其类型名称。

要命名元素,请双击层次结构中的项,或更新元素的检查器一个 Unity 窗口,显示有关当前选定游戏对象、资产或项目设置的信息,允许您检查和编辑值。更多信息
请参阅术语表
窗。

UI 工具包中不会强制执行唯一命名,因此它们仅用于在 UI 中进行标识。UI Builder 不将元素名称用于任何内部标识或功能。

若要构建层次结构,可以拖动层次结构中的一个或多个元素以重新排序它们或在父元素之间移动它们:

ReorderInHierarchy(层次结构中重新排序)
ReorderInHierarchy(层次结构中重新排序)

您还可以将元素拖入画布或拖出画布,其中会出现一条黄线以指示元素放置:

ReorderInCanvas (画布中重新排序)
ReorderInCanvas (画布中重新排序)

作元素

要复制、粘贴、复制或删除一个或多个选定的元素,请右键单击一个元素并选择菜单中的选项。您还可以使用作系统的标准快捷键。

在“层级”窗格中复制元素时,它会复制该元素及其子元素的 UXML 文本表示形式。这意味着您可以将其直接粘贴到文本编辑器中。你还可以复制UXML文本并将其粘贴到UI构建器中。

您对元素执行的所有作也将应用于其所有子元素。例如,删除元素会删除其所有子元素,复制元素会复制其下元素的整个子树。

只读元素

将元素从“库”选项卡拖动到“层次结构”选项卡时,可能会注意到其他子元素以灰色状态显示。这些是只读元素。一些内置 UI 控件和一些自定义元素会在创建时创建其内部层次结构

当您将子元素添加到VisualElement,children 元素被添加到contentContainer此父元素的。例如,ScrollView一种 UI 控件,用于在可视区域中显示大量控件,您可以使用滚动条查看这些控件。更多信息
请参阅术语表
below 有一个 Foldout 子元素,它位于contentContainer.它还具有阴影树中的多个 Scroller 子元素。阴影树是contentContainer这个元素的。

ScrollView 元素的层次结构
ScrollView 元素的层次结构

由于UI构建器只能编辑它可以在UXML文档中表示的内容,因此无法编辑内部层级。UXML 不是实时 UI 层次结构的直接副本,而是一个指令集。

UXML中的属性

元素具有每个元素的属性,可以在 UXML 中设置。您可以将它们视为构造函数或初始化参数。这包括name属性。基地VisualElementclass 带有一些所有元素共享的标准属性(因为所有元素都继承自VisualElement),喜欢name,tooltiptabindex.更高级的元素和控件具有可以设置的其他属性,例如Label添加text属性。

注意:您可以使用 Enter 键为text属性。

在检查器中更改属性

所有标准属性和自定义属性都显示在“检查器”窗口顶部的“属性”部分中。

您可以在属性部分中设置属性的值。如果字段显示为粗体,并在字段标签左侧显示实线,则表示该属性已设置且未使用默认值。例如,将tooltip从空到空test然后回到空与从不设置它不同:第一种情况是unset而第二种情况是set to empty.什么this attribute is set意味着此元素的 UXML 文本中有一个条目,将此属性设置为a价值

如果该属性未出现在 UXML 文件中,则该属性为not set.

要取消设置属性,请右键单击字段的标签,然后选择取消设置

要取消设置所有属性,请右键单击字段的标签,然后选择全部取消设置

更改画布中的属性

唯一可以直接在画布中更改的属性是text属性,例如ButtonLabel.要更改text属性,在画布中双击它。

EditButtonTextInCanvas
EditButtonTextInCanvas

要提交更改,请按 Enter 键。如果text属性包含换行符,请使用 Shift + Enter 提交更改。

要取消更改,请按 Esc 键。

其他资源

UI Builder 入门
使用UXML实例作为模板