版本:Unity 6 (6000.0)
语言:英语
从 C# 脚本加载 UXML 和 USS
使用 UQuery 查找可视元素

从 C# 脚本实例化 UXML

要从 UXML 文件构建 UI(用户界面) 允许用户与您的应用程序交互。 Unity 目前支持三种 UI 系统。 更多信息
参见 术语表
,您必须首先 将文件加载到 VisualTreeAsset,然后使用 Instantiate() 在没有父级的情况下实例化,这将创建一个新的 TemplateContainer,或者 CloneTree(parent)) 克隆到父级中。

实例化 UXML 后,您可以使用 UQuery可视树由轻量级节点组成的对象图,它保存窗口或面板中的所有元素。 它定义了您使用 UI 工具包构建的每个 UI。
参见 术语表
中检索特定元素。

以下示例创建了一个自定义编辑器窗口,并加载 UXML 文件作为其内容。

using UnityEditor;
using UnityEngine;
using UnityEngine.UIElements;
using UnityEditor.UIElements;

public class MyWindow : EditorWindow  {
    [MenuItem ("Window/My Window")]
    public static void  ShowWindow () {
        EditorWindow w = EditorWindow.GetWindow(typeof(MyWindow));

        VisualTreeAsset uiAsset = AssetDatabase.LoadAssetAtPath<VisualTreeAsset>("Assets/MyWindow.uxml");
        VisualElement ui = uiAsset.Instantiate();

        w.rootVisualElement.Add(ui);
    }
}

其他资源

从 C# 脚本加载 UXML 和 USS
使用 UQuery 查找可视元素