Version: 2023.2
言語: 日本語
エレメントを使う
UI Builder による UI のスタイル設定

UXML インスタンスをテンプレートとして使用する

既存の UXML ドキュメントを UXML ドキュメント内で テンプレートインスタンス としてインスタンス化することができます。

UXML ドキュメントをテンプレートとして使用する

プロジェクト内の既存の UXML ドキュメントをテンプレートとして使用するには、以下を行います。

  1. LibraryProject タブで、インスタンス化したい UXML アセット (.uxml) を見つけます。
  2. Library 内の要素のように、UXML アセットを Hierarchy にドラッグします。

テンプレートインスタンスTemplateContainer タイプの通常の要素のように Hierarchy に表示されます。.uxml ファイル名は、右側にグレイアウトの状態で表示されます。テンプレートインスタンス を展開すると、インスタンスの内部階層を見ることができます。この内部階層は、要素を使う で説明したように、読み取り専用で、参照用です。

テンプレートとしてサブドキュメントを作成する

UXML ドキュメント内に、テンプレートインスタンス としてサブドキュメントを作ることができ、それを再利用できます。

  1. サブドキュメントを右クリックします。
  2. Create Template を選択します。
  3. ファイルの保存場所を選択します。

これはまた、サブドキュメントを既存のドキュメントの テンプレートインスタンス としてインスタンス化します。

UXML ドキュメントテンプレートのインスタンスを編集する

テンプレートインスタンス として使用される元の UXML ドキュメントを編集するには、テンプレートインスタンス を右クリックし、以下のオプションのいずれかを選択します。

  • UI Builder で開く。現在の UXML ドキュメントをアンロードし、テンプレートインスタンス をロードします。

    UI Builder で開く例
    UI Builder で開く例
  • 分離してインスタンスを開く: テンプレートインスタンス をロードしている間、現在の UXML ドキュメントをバックグラウンドでロードしたままにします。HierarchyCanvas には テンプレートインスタンス のコンテンツのみが表示され、StyleSheets ペインには背景の親 UXML ドキュメントのスタイルシートが読み取り専用で表示されます。これは、スタイルシートがまだ テンプレートインスタンス に適用されているためです。

    分離してインスタンスを開く例
    分離してインスタンスを開く例
  • コンテキストでインスタンスを開く: 現在の UXML ドキュメントをロードしたまま、そのすべての要素を読み取り専用にし、HierarchyCanvas にグレーアウトした状態で表示します。親 UXML ドキュメントのコンテキスト内で テンプレートインスタンス のコンテンツを編集できます。このオプションを使用すると、ホストドキュメントのコンテキストを失うことなく、テンプレートインスタンス のコンテンツを更新することができます。

    ンテキストでインスタンスを開く例
    ンテキストでインスタンスを開く例
  • プロジェクトに表示: Project ウィンドウに テンプレートインスタンス ファイルの場所を表示します。

2 番目と 3 番目のオプションでは、Viewport の上にパンくずメニューが表示されます。これを使用して、親 UXML ドキュメントに戻ることができます。

サブドキュメントのパンくずメニューの例
サブドキュメントのパンくずメニューの例

UXML ドキュメントテンプレートのインスタンスを展開する

単一の テンプレートインスタンス を展開するには、テンプレートインスタンス を右クリックし、Unpack Instance を選択します。これで、テンプレートインスタンス が通常の UXML ドキュメントに変わります。

すべての テンプレートインスタンス を展開するには、テンプレートインスタンス を右クリックし、Unpack Instance Completely を選択します。これで、すべての テンプレートインスタンス が通常の UXML ドキュメントに変わります。

その他の参考資料

エレメントを使う
UI Builder による UI のスタイル設定