要从 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);
}
}