包含此页的版本:
不含此页的版本:
版本: 6000.0+
想要了解如何创建运行时数据绑定?使用此示例开始。此示例创建数据源资产,并使用 UI Builder 将数据源绑定到 UI。
要在 UI Builder 中设置运行时绑定,请执行以下作:
此示例创建包含字符串属性的数据源资产,并将其绑定到 UI 生成器中 Label 控件的 Text 属性。更改数据源资产中的字符串属性时,标签的文本会更改。
您可以在此 GitHub 存储库中找到此示例创建的已完成文件。
本指南适用于熟悉 Unity 编辑器、UI 工具包和 C# 脚本的开发人员。在开始之前,请熟悉以下内容:
创建包含要绑定到的属性的数据源资产。在此示例中,您将创建一个ScriptableObject名为ExampleObject其中包含一个string财产。
Assets文件夹中,创建一个名为ExampleObject.cs内容如下: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,该 UI 绑定到您在上一步中创建的数据源资产。在本例中,你将创建一个包含 标签(Label) 的UXML文件。
Assets文件夹中,创建一个名为ExampleObject.uxml.ExampleObject.uxml文件以在 UI Builder 中打开它。将 UI 绑定到您在上一步中创建的数据源资产。
在“标签”的“检查器”面板中,从“绑定>数据源>对象”列表中,选择“示例对象”。
在“数据源路径”列表中,选择“simpleLabel”。

右键单击“文本”属性,然后选择“添加绑定”。

从“绑定模式”列表中,选择“到目标”。这会在数据源更改时更新 UI。
从“高级设置”>“更新触发器”列表中,选择“源更改时”,这是默认设置。这会在数据源更改时更新 UI。

选择“添加绑定”以应用更改。
保存并关闭 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.