版本:6000.0+
想了解如何创建运行时数据绑定?请从使用此示例开始。此示例将创建数据源资产,并使用__ UI__(即用户界面,User Interface)让用户能够与您的应用程序进行交互。Unity 目前支持三种 UI 系统。更多信息
See in Glossary Builder 将数据源绑定到 UI。
要在 UI Builder 中设置运行时绑定,请执行以下操作:
此示例将创建一个包含字符串属性的数据源资产,并将其绑定到 UI Builder 中的“标签 (Label) 控件”的”文本 (Text)”属性。更改数据源资产中的字符串属性时,标签的文本会更改。
可以在此 GitHub 代码仓库中找到此示例创建的完整文件。
本指南适用于熟悉 Unity 编辑器、UI 工具包和 C# 脚本的开发者。在开始之前,请熟悉以下内容:
创建包含要绑定到的属性的数据源资产。在此示例中,您将创建名为 ExampleObject 的 ScriptableObject 资产,其中包含 string 属性。
Assets 文件夹中,创建一个名为 ExampleObject.cs 的 C# 脚本,其中包含以下内容:using Unity.Properties;
using UnityEngine;
using UnityEngine.UIElements;
#if UNITY_EDITOR
using UnityEditor;
#endif
[CreateAssetMenu]
public class ExampleObject : ScriptableObject
{
[Header("Simple binding")]
public string simpleLabel = "Hello World!";
}
Assets 文件夹中创建资产。ExampleObject.asset。创建一个 UI,绑定到在上一步中创建的数据源资产。在此示例中,您将创建一个包含标签的 UXML 文件。
Assets 文件夹中,创建一个名为 ExampleObject.uxml 的 UXML 文件。ExampleObject.uxml 文件可在 UI Builder 中打开该文件。将 UI 绑定到在上一步中创建的数据源资产。
在标签 (Label) 的检视面板中,从绑定 (Bindings) > 数据源 (Data Source) > 对象 (Object) 列表中选择 ExampleObject。
在数据源路径 (Data Source Path) 列表中,选择 simpleLabel。

右键单击文本 (Text) 属性并选择添加绑定 (Add binding)。

从绑定模式 (Binding Mode) 列表中选择至目标 (To Target)。这会在数据源发生更改时更新 UI。
从高级设置 (Advanced Settings) > 更新触发器 (Update Trigger) 列表中,选择源更改时 (On Source Changed)(默认设置)。这会在数据源发生更改时更新 UI。

选择添加绑定 (Add binding) 以应用更改。
保存并关闭 UI Builder。您的 ExampleObject.uxml 文件如下所示:
<engine:UXML xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:engine="UnityEngine.UIElements"
xmlns:editor="UnityEditor.UIElements" noNamespaceSchemaLocation="../../UIElementsSchema/UIElements.xsd" editor-extension-mode="False">
<engine:Label text="Label" data-source="ExampleObject.asset" data-source-path="simpleLabel">
<Bindings>
<engine:DataBinding property="text" binding-mode="ToTarget" />
</Bindings>
</engine:Label>
</engine:UXML>
更新数据源资产中 LabelText 的标签文本,并检查在 UI 中复制的更改。
Assets 文件夹中,选择 ExampleObject.asset。