ステップ3 - 選択されたアイテムの外観を定義する

このステップでは、現在選択されているリストアイテムの外観を定義します。まず、現在選択されている連絡先の矢印の色を変更し、次に現在選択されている連絡先の写真の横に縦のバーを表示します。

List Box Item Container 2D で選択されたアイテムの外観を定義します。

このセクションでは、現在選択されているリストアイテムの外観を定義します。List Box Item Container 2D プレハブで選択矢印の色を定義します。

List Box Item Container 2D で選択されたアイテムの外観を定義するには、

  1. Prefabs で List Box Item Container 2D プレハブを選択し、State Tools で Create State Manager をクリックします。

    ../../_images/create-state-manager5.png
  2. State Tools で Create State を2回クリックして2つのステートを作成し、各ステートの名前をダブルクリックして、ステートの名前を NotSelected と Selected に変更します。

    Selected ステートは、ユーザーがリストボックス内のアイテムを選択したときのアプリケーションの状態を定義し、NotSelected ステートはそのアイテムが選択されていないときの状態を定義します。

    ../../_images/rename-states1.png
  3. State Tools で <No Controller Property> ドロップダウンメニューをクリックし、List Box Item Container > Selected プロパティを選択します。

    ステートマネージャーでは、Controller Property として選択したプロパティの値が、ステートグループ内の各ステートがアクティブになる条件を定義します。

    List Box Item Container > Selected プロパティは、リストボックスアイテムが選択されているかどうかを示します。

    ../../_images/controller-property.png
  4. State Tools で、各ステートのコントローラープロパティの値を設定します。

    • NotSelected ステートでは、値を False に設定したままにしてください。

    • Selected ステートの値を True に設定します。

    ../../_images/set-controller-property-selected.png
  5. List Box Item Container 2D プレハブの Prefabs で Arrow ノードを選択し、Properties で Image プロパティを ArrowGreen 画像に設定し、State Tools で Selected ステートの下にある image0 をクリックして、現在の画像をそのステートに保存します。

    Grid List Box 2D ノードの選択されたアイテムに緑色の矢印を表示するようにステートマネージャーを設定します。

    ../../_images/arrow-in-prefabs-step3.png ../../_images/arrow-properties-selected-state.png ../../_images/arrow-set-to-state.png
  6. State Tools で、Edit State Manager をクリックして State Tools を非アクティブ化します。

    ../../_images/deactivate-state-tools3.png
  7. State Tools で Any -> Any トランジションをクリックし、State Transition Settings で Duration プロパティを0に設定し、Save をクリックします。

    ステート遷移の期間を0に設定すると、Kanzi は選択されたステート間を即座に遷移します。

    ../../_images/state-tools-any-any-transition.png ../../_images/state-transition-duration.png

Preview でリストアイテムを選択すると、そのアイテムの矢印が緑色に変わります。

../../_images/list-box-step-3-1.gif

選択されたアイテムの外観を定義するには、アイテムテンプレートを変更します。

このセクションでは、現在選択されているリストアイテムの外観を定義します。現在選択されている連絡先の写真の横に縦棒を表示するように、ContactItem プレハブを修正します。

選択されたアイテムの外観を定義するには、アイテムテンプレートを変更します。

  1. ContactItem プレハブの Prefabs 内に Empty Node 2D ノードを作成し、それに SelectionBar という名前を付け、ContactPhoto ノードと ContactName ノードの間にドラッグします。

    このノードを使用して、選択した連絡先の連絡先写真の右側に縦棒を表示します。

    SelectionBar ノードを ContactPhoto ノードと ContactName ノードの間に配置したいので、List Box Item Container 2D プレハブではなく、ContactItem プレハブに SelectionBar ノードを作成します。

    ../../_images/selectionbar-node.png
  2. Prefabs で SelectionBar ノードを選択し、Properties で追加して設定します。

    • Background Brush から Green Brush へ

    • Layout Width から5まで

    ../../_images/selectionbar-properties.png
  3. Prefabs Alt を押しながら右クリック で List Box Item Container 2D プレハブを選択し、Alias を選択します。

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

    ../../_images/list-box-item-container-create-alias.png
  4. Prefabs で SelectionBar ノードを選択し、Properties で + Add Binding をクリックし、Binding Editor で設定します。

    • Property から Visible へ

    • Expression へ

      {#List Box Item Container 2D/ListBoxItemContainer.Selected}
      

      前のステップで作成したエイリアスを使用して、List Box Item Container 2D プレハブにアクセスします。

    Save をクリックします。

    SelectionBar ノードの Visible プロパティを List Box Item Container 2D プレハブの Selected プロパティにバインドすることにより、SelectionBar ノードは選択されたアイテムにのみ表示されます。

    ../../_images/selectionbar-add-binding.png ../../_images/selectionbar-visibility-binding.png

Preview でリストアイテムを選択すると、そのアイテムに緑色の選択バーが表示されます。

../../_images/list-box.gif

次の作業

このチュートリアルでは、Grid List Box ノードを使用して、データソースからデータを受け取るスクロール可能な連絡先リストを作成する方法を学びました。また、List Box Item Container を使用してリストアイテムの外観を設定し、ユーザーがリストで選択したアイテムの外観を変更する方法も学びました。これで、あなたは次のことができます:

関連項目

ステートマネージャーの使用方法について詳しくは、ステートマネージャー (State Managers) を使用する場合 をご覧ください。

バインディングの使用方法について詳しくは、バインディングの使用 および バインディング式リファレンス を参照してください。