简介
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 搜索逻辑。
基本工作流程
- 创建 UIDocument,并为其分配 UXML 资源和 PanelSettings。
- 添加与目标 UI Toolkit 元素类型匹配的链接器组件,例如 UitkButton。
- 将 UIDocument 分配给链接器。
- 选择链接模式并配置其定位器。
- 在需要时调用 LinkElement,然后使用 Element 或 E 访问类型化元素。
- 对于支持绑定功能的链接器,启用绑定并选择数据源字段或属性。
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 许可证分发。