SimpleListBox および SimpleListBoxItem

このページは WPF プロジェクトにのみに適用

リスト ボックスは、スクロール可能な一覧として表示されるアイテム コントロールです。Microsoft Expression Blend でリスト ボックスにコンテンツを配置するには、リスト ボックスをダブルクリックしてオブジェクト (四角形など) を描画します。または、[オブジェクトとタイムライン] パネルでリスト ボックスを右クリックし、[SimpleListBoxItem の追加] をクリックしてコレクションに各アイテムを追加するか、[ItemsSource を Data にバインド] をクリックして、データソースから SimpleListBoxItem オブジェクトのコレクションを生成します。コレクションに個別のアイテムを追加する場合、リスト ボックスをダブルクリックしてアクティブにし、アイテムをドラッグして目的の位置に移動することにより、アイテムの順序を変更できます。リスト ボックスの [SelectedIndex] プロパティを使用して、既定で選択されるアイテムを設定できます。

アートボード上のアイテムが 2 つ追加された後の SimpleListBox コントロール

Cc295293.542edff2-bb86-4d80-902d-93810083b1a9(ja-jp,Expression.40).png

コントロール テンプレートの構成要素

SimpleListBox コントロール テンプレートは、次の要素で構成されています。

  • Grid パネル: リスト ボックス内に複数の子要素を保持するために使用します。また、Grid を使用すると、アプリケーション ユーザー インターフェイス (UI) デザイナーは複数のオブジェクトを簡単にテンプレートに追加できます。

  • Border 要素: BorderThickness プロパティが含まれています。このプロパティは、このテンプレートの適用先リスト ボックス コントロールの BorderThickness プロパティにテンプレート バインドできます。

  • ScrollViewer 要素: リストが長い場合に、アプリケーションのユーザーがリストをスクロールできるようにするために使用します。

  • StackPanel: ScrollViewer オブジェクト内に含まれ、アイテムを配置します。StackPanelIsItemsHost プロパティは True に設定され、ScrollViewer が、このテンプレートが適用されるリスト ボックス コントロールのアイテムを表示するオブジェクトであることが識別されます。StackPanel を別のパネル オブジェクトに変更するには、[オブジェクトとタイムライン] パネルで StackPanel オブジェクトを右クリックし、[レイアウトの種類の変更] を UniformGrid などに変更します。

SimpleListBoxItem コントロール テンプレートは、次の要素で構成されています。

  • Grid パネル: リスト ボックスのアイテム内に複数の子を保持するために使用します。また、Grid を使用すると、デザイナーは複数のオブジェクトを簡単にテンプレートに追加できます。

  • Border 要素: BorderThickness プロパティが含まれています。このプロパティは、このテンプレートの適用先ボタン コントロールの BorderThickness プロパティにテンプレート バインドできます。

  • ContentPresenter 要素: Grid オブジェクト内に含まれ、このテンプレートが適用されるアイテム コントロールの Content プロパティに自動的にバインドされます。

使用されるプロパティ トリガー

コントロール テンプレートのプロパティ トリガーは、プロパティの変更にコントロールを対応させるために使用されます。[トリガー] パネルのアイテムをクリックすると、トリガーがアクティブになると変更されるプロパティを表示できます。たとえば、リスト ボックス用のテンプレートでは、リスト ボックス アイテムの IsSelected プロパティが True のときに、アイテムの背景色が変更されます。リスト ボックス アイテム用のテンプレートでは、IsHighlighted プロパティが True のときに、Border オブジェクトの Background プロパティが変更され、リスト ボックス内で選択されたアイテムを示します。

使用されるブラシ

SimpleListBox テンプレートおよび SimpleListBoxItem テンプレートでは、SimpleStyles.xaml リソース ディクショナリ内の次のブラシ リソースが使用されます。

  • Background プロパティは、アクティブなトリガーがないときは WindowBackgroundBrush を使用して、IsEnabledFalse のときは DisabledBackgroundBrush を使用して設定されます。

  • BorderBrush プロパティは、SolidBorderBrush (アクティブなトリガーが存在しない場合) および DisabledBorderBrush (IsEnabledFalse の場合) を使用して設定されます。

  • SimpleListBoxItem テンプレートを使用するアイテムが SimpleListBox に設定されている場合、アイテムが選択されているときはアイテムの Background プロパティは SelectedBackgroundBrush を使用して設定され、IsEnabledFalse のときは Foreground プロパティは DisabledForegroundBrush を使用して設定されます。

関連項目

タスク

試してみよう: SimpleListBox の選択アイテムの外観の変更

Copyright ©2011 by Microsoft Corporation. All rights reserved.