版本: 6000.0+
想要学习如何创建运行时数据绑定?使用此示例入门。此示例创建数据源资源并使用 UI(用户界面) 允许用户与您的应用程序交互。Unity 目前支持三种 UI 系统。 更多信息
参见 术语表 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,它绑定到您在上一步中创建的数据源资源。在本例中,您将创建一个包含 Label 的 UXML 文件。
Assets
文件夹中,创建一个名为 ExampleObject.uxml
的 UXML 文件。ExampleObject.uxml
文件以在 UI Builder 中打开它。将 UI 绑定到您在上一步中创建的数据源资源。
在 Label 的 Inspector 面板中,从 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
。