Tulis Template UXML
UXML elemen referensi

Beban UXML dari C# skrip

Untuk membangun antarmuka pengguna dari template UXML, Anda harus memuat template pertama ke dalam VisualTreeAsset:

var template = EditorGUIUtility.Load("path/to/file.uxml") as VisualTreeAsset;

atau lebih langsung:

var template = AssetDatabase.LoadAssetAtPath<VisualTreeAsset>("path/to/file.uxml");

Anda kemudian dapat membangun pohon visual yang mewakili ini dan melampirkan ke elemen induk:

template.CloneTree(parentElement, slots);

Dalam pernyataan di atas, elemen <UXML> dalam template tidak diterjemahkan keVisualElement. Sebaliknya, semua anak-anaknya melekat pada elemen yang ditentukan oleh parentElement.

Setelah template disaat, Anda dapat mengambil elemen khusus dari pohon elemen visual dengan UQuery: implementasi Unity dari JQuery / Linq.

Sebagai contoh, kode berikut menunjukkan cara membuat file EditorWindow baru dan memuat file UXML sebagai kontennya:


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.CloneTree(null);

        w.rootVisualElement.Add(ui);
    }

    void OnGUI () {
        // Nothing to do here, unless you need to also handle IMGUI stuff.
    }
}
Tulis Template UXML
UXML elemen referensi