****Unity での プレハブ の機能と同様に、既存の UXML ドキュメントを UXML ドキュメント内でテンプレートインスタンスとしてインスタンス化することができます。
プロジェクト内の既存の UXML ドキュメントをテンプレートとして使用するには、以下を行います。
.uxml) を見つけます。
テンプレートインスタンスは TemplateContainer タイプの通常の要素のように Hierarchy に表示されます。.uxml ファイル名は、右側にグレイアウトの状態で表示されます。テンプレートインスタンスを展開すると、インスタンスの内部階層を見ることができます。この内部階層は、要素を使う で説明したように、読み取り専用で、参照用です。
UXML ドキュメント内に、テンプレートインスタンスとしてサブドキュメントを作ることができ、それを再利用できます。
これはまた、サブドキュメントを既存のドキュメント内のテンプレートインスタンスとしてインスタンス化します。
テンプレートインスタンスとして使用される元の UXML ドキュメントを編集するには、テンプレートインスタンスを右クリックし、以下のオプションのいずれかを選択します。
Open in UI Builder: 現在の UXML ドキュメントをアンロードし、テンプレートインスタンスをロードします。
Open Instance in Isolation: テンプレートインスタンスをロードしている間、現在の UXML ドキュメントをバックグラウンドでロードしたままにします。Hierarchy と Canvas にはテンプレートインスタンスのコンテンツのみが表示され、StyleSheets ペインには背景の親 UXML ドキュメントのスタイルシートが読み取り専用で表示されます。これは、スタイルシートがまだテンプレートインスタンスに適用されているためです。
Open Instance in Context: 現在の UXML ドキュメントをロードしたまま、そのすべての要素を読み取り専用にし、Hierarchy と Canvas にグレーアウトした状態で表示します。親 UXML ドキュメントのコンテキスト内でテンプレートインスタンスのコンテンツを編集できます。このオプションを使用すると、ホストドキュメントのコンテキストを失うことなく、テンプレートインスタンスのコンテンツを更新することができます。
Show in Project: Project ウィンドウにテンプレートインスタンスファイルの場所を表示します。
2 番目と 3 番目のオプションでは、Viewport の上にパンくずメニューが表示されます。これを使用して、親 UXML ドキュメントに戻ることができます。
単一のテンプレートインスタンスを展開するには、テンプレートインスタンスを右クリックし、Unpack Instance を選択します。これで、テンプレートインスタンスが通常の UXML ドキュメントに変わります。
すべてのテンプレートインスタンスを展開するには、テンプレートインスタンスを右クリックし、Unpack Instance Completely を選択します。これで、すべてのテンプレートインスタンスが通常の UXML ドキュメントに変わります。