简介

UI Toolkit 链接器与绑定器 3.0.1 的概述与迁移说明。

UI Toolkit 链接器与绑定器 3.0.1 可将运行时 UI Toolkit 元素链接到 MonoBehaviour 组件,并能将组件字段或属性中的值复制到支持的控件中。

版本 3 使用 DA_Assets.ULB 命名空间。从旧版 UEL 包升级的项目必须更新 C# using 指令、程序集引用以及 UXML 命名空间或类型名称。

此资源提供的功能

  • 四种定位器模式:Name、IndexNames、Guid 和 Guids。
  • 类型化链接器组件,可通过 Element 和 E 公开已链接的 VisualElement。
  • 针对受支持 UI Toolkit 控件的单向轮询数据绑定。
  • VisualElement 查询扩展,无需链接器组件即可使用相同的路径和 GUID 搜索逻辑。

基本工作流程

  1. 创建 UIDocument,并为其分配 UXML 资源和 PanelSettings。
  2. 添加与目标 UI Toolkit 元素类型匹配的链接器组件,例如 UitkButton。
  3. 将 UIDocument 分配给链接器。
  4. 选择链接模式并配置其定位器。
  5. 在需要时调用 LinkElement,然后使用 Element 或 E 访问类型化元素。
  6. 对于支持绑定功能的链接器,启用绑定并选择数据源字段或属性。
csharp
using System.Collections;
using DA_Assets.ULB;
using UnityEngine;
using UnityEngine.UIElements;

public sealed class ToolbarView : MonoBehaviour
{
    [SerializeField] private UitkButton saveButton;

    private IEnumerator Start()
    {
        yield return null;
        Button button = saveButton.Element;
        button.clicked += OnSave;
    }

    private void OnSave()
    {
        Debug.Log(saveButton.Element.name);
    }
}

链接器组件也会在 Start 中自动调用 LinkElement。替换 UIDocument 可视化树或在运行时更改定位条件后,请再次调用 LinkElement。

版本 3.0.1 API 名称

  • 命名空间和运行时程序集:DA_Assets.ULB。
  • 基础组件:UitkLinkerBase。
  • 类型化链接器:UitkLinker<TElement>。
  • 带绑定功能的类型化链接器:UitkLinker<TElement, TBinding>。
  • 绑定类型:MemberBinding 和 UitkBindingSettings。
  • 直接查找 API:UitkQueryExtensions。

兼容性

具体链接器类仅在当前 Unity 版本中存在对应 UI Toolkit 元素类型时才能编译。如果目标类型不可用,请使用其他受支持的链接器,或直接查询 UIDocument 根元素。

该资源采用 MIT 许可证分发。