Version: 6000.3
语言: 中文
运行时数据绑定
在 C# 脚本中创建运行时绑定

运行时绑定入门

版本: 6000.0+

想要了解如何创建运行时数据绑定?使用此示例开始。此示例创建数据源资产,并使用 UI Builder 将数据源绑定到 UI。

要在 UI Builder 中设置运行时绑定,请执行以下作:

  1. 检查器一个 Unity 窗口,显示有关当前选定游戏对象、资产或项目设置的信息,允许您检查和编辑值。更多信息
    请参阅术语表
    面板。
  2. 将 UI 控件的属性绑定到数据源资产的属性。
  3. 定义绑定模式以配置如何在数据源和 UI 之间复制更改。
  4. 定义更新触发器以配置何时在数据源和 UI 之间复制更改。

示例概述

此示例创建包含字符串属性的数据源资产,并将其绑定到 UI 生成器中 Label 控件的 Text 属性。更改数据源资产中的字符串属性时,标签的文本会更改。

运行时绑定示例
运行时绑定示例

您可以在此 GitHub 存储库中找到此示例创建的已完成文件。

先决条件

本指南适用于熟悉 Unity 编辑器、UI 工具包和 C# 脚本的开发人员。在开始之前,请熟悉以下内容:

创建数据源资产

创建包含要绑定到的属性的数据源资产。在此示例中,您将创建一个ScriptableObject名为ExampleObject其中包含一个string财产。

  1. 使用任何模板在 Unity 中创建项目。
  2. 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!";
}

创建示例对象资产

  1. 从菜单中,选择 资产 > 创建>示例对象。这会在Assets文件夹。
  2. 将资产重命名为ExampleObject.asset.

创建UI

创建一个 UI,该 UI 绑定到您在上一步中创建的数据源资产。在本例中,你将创建一个包含 标签(Label) 的UXML文件。

  1. Assets文件夹中,创建一个名为ExampleObject.uxml.
  2. 双击ExampleObject.uxml文件以在 UI Builder 中打开它。
  3. 在“层次结构”面板中,添加“标签”控件。

将标签绑定到数据源

将 UI 绑定到您在上一步中创建的数据源资产。

  1. “标签”的“检查器”面板中,从“绑定>数据源>对象”列表中,选择“示例对象”。

  2. 在“数据源路径”列表中,选择“simpleLabel”。

    设置 VisualElement 绑定数据源

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

    添加绑定

  4. 从“绑定模式”列表中,选择“到目标”。这会在数据源更改时更新 UI。

  5. “高级设置”>“更新触发器”列表中,选择“源更改时”,这是默认设置。这会在数据源更改时更新 UI。

    设置绑定模式和更新触发器

  6. 选择“添加绑定”以应用更改。

  7. 保存并关闭 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>

在 UI Builder 预览模式下测试绑定

更新数据源资产中 LabelText 的标签文本,并检查在 UI 中复制的更改。

  1. Assets文件夹中,选择ExampleObject.asset.
  2. 在“检查器”窗口的“简单标签”字段中,输入随机文本。UI Builder 中的标签文本视口用户在屏幕上应用的可见区域。
    请参阅术语表
    ,则更改了您输入的文本。

其他资源

运行时数据绑定
在 C# 脚本中创建运行时绑定