エイリアスの使用

Alias を使用して、Kanzi ノードへの一貫したアクセスを得ることができます。エイリアスを使用して、Kanzi Studio 内および Kanzi Engine API を使用してノードにアクセスすることができます。

Kanzi Studio でアプリケーションを作成する際に、プロジェクトのノードツリー内でノードを移動するため、それらを追跡する最も簡単な方法はエイリアスを使用することです。エイリアスのターゲットノードは、バインディングや Kanzi Engine APIを使用して、プロジェクト内のノードの位置に関係なく、ハッシュ記号(#)に続けてエイリアスの名前を指定することで取得できます。

エイリアスは、取得元となるノードのリソースディクショナリに必ず追加する必要があることに注意してください。

ノードからエイリアスを作成する

ノードからエイリアスを作成すると、Kanzi Studio はそのノードの最も近い先祖でリソースディクショナリを含むもののリソースディクショナリにそのエイリアスを追加します。例えば、Scene がリソースディクショナリを持ち、Camera を含んでいる場合、Camera ノードから直接エイリアスを作成すると、Kanzi Studio は自動的に Camera ノードを指すエイリアスを Scene ノードのリソースディクショナリに追加します。

エイリアスを作成するには:

  1. Node Tree Alt を押しながら右クリック で、Kanzi Studio をそのノードの子孫からエイリアスを自動的に追加したいノードを選択し、Resource Dictionary を選択します。

    例えば、Viewport 2D ノード内のノードにアクセスするためにエイリアスを使用したい場合は、その Viewport 2D に Resource Dictionary を追加します。

    ../../_images/add-resource-dictionary.png
  2. Node Tree Alt を押しながら右クリック で、リソースディクショナリを含むノードの子孫ノードを選択し、Alias を選択します。

    例えば、Camera を含む Viewport 2D では、Camera を Alt を押しながら右クリック し、Alias を選択します。

    Kanzi Studio は、エイリアスを作成したノードを指すエイリアスを作成し、リソースディクショナリを含む最も近い先祖ノードのリソースディクショナリにそれを追加します。

    ../../_images/create-alias1.png ../../_images/alias-in-dictionaries.png

エイリアスを作成し、そのターゲットを手動で設定する

エイリアスを作成し、そのターゲットを手動で設定するには:

  1. Node Tree Alt を押しながら右クリック で、エイリアスを追加したいリソースディクショナリのノードを選択し、Resource Dictionary を選択します。

    例えば、Viewport 2D ノード内のノードにアクセスするためにエイリアスを使用したい場合は、その Viewport 2D に Resource Dictionary を追加します。

    ../../_images/add-resource-dictionary.png
  2. Dictionaries でエイリアスを追加したいリソース辞書を選択し、+ Add Resource をクリックし、Create > Alias を選択して、エイリアスに名前を付けます。

    Kanzi Studio は、Dictionaries で選択したリソースディクショナリにエイリアスを追加します。

    Dictionaries は、Node Tree で選択したノードにローカルなリソースのリソースIDを表示します。

    ../../_images/create-new-alias-resource.png
  3. Dictionaries で、エイリアス名の隣のセルをクリックし、ドロップダウンメニューからこのエイリアスを使用してアクセスしたいノードを選択します。

    エイリアスを追加したリソースディクショナリを所有するノードを基準とする相対パスを入力するには、<Relative> を使用します。

    エイリアスがあるリソースディクショナリを所有するノードからターゲットノードに到達可能な場合は、絶対パスを使用してください。

    ../../_images/alias-name-target.png

バインディングでエイリアスを使用する

バインディングを使用して、他のプロパティ、プロパティフィールド、またはデータソースからの値でプロパティまたはプロパティフィールドの値を設定します。

バインディングでエイリアスを使用するには、Expression フィールドの Binding Editor に中括弧で # 記号を入力し、その後にエイリアス名を入力し、スラッシュとエイリアスが指すアイテムのプロパティ名を続けて入力します。

例えば、プロパティをエイリアスGridが指すノードの Layout Width プロパティにバインドするには、次を入力します。

{#Grid/Node.Width}

バインディングの使用 と バインディング式リファレンス を参照してください。

../../_images/alias-binding-expression.png

エイリアスを使用してアクションのターゲットを設定する

アクションのターゲットアイテムを定義するためにエイリアスを使用するには:

  1. エイリアスを作成します。ノードからエイリアスを作成する を参照してください。

  2. ノードにトリガーを追加します。トリガーの使用 を参照してください。

  3. Node Components > Triggers Alt を押しながら右クリック で、前のステップで追加したトリガーを選択し、アクションを選択します。

    例えば、Set Property アクションを選択します。

  4. 作成したアクションで、Target Item プロパティを最初のステップで作成したエイリアスに設定します。

    ../../_images/alias-as-target-item-in-the-message-editor.png

Aliases をAPIで使用する

APIを使用してノードにアクセスするためにエイリアスを使用する

// Get the reference to the Grid List Box 3D node using the alias #Grid List Box that is
// in the resource dictionary of the Scene node.
GridListBox3DSharedPtr gridListBox = scene->lookupNode<GridListBox3D>("#Grid List Box");

関連項目

リソースディクショナリの使用

リソース管理 (Resource management)

バインディングの使用

バインディング式リファレンス