ItemsControl クラス

2013/12/12

項目のコレクションを提示するために使用できるコントロールを表します。

Namespace:  System.Windows.Controls
アセンブリ:  System.Windows (System.Windows.dll 内)
XAML の XMLNS: xmlns にマップされていません。

[ContentPropertyAttribute("Items", true)]
public class ItemsControl : Control
<ItemsControl ...>
  oneOrMoreItems
</ItemsControl>

XAML 値

oneOrMoreItems

1 つ以上のオブジェクト要素。これらの要素は、Items コレクションの項目となります。

ItemsControl 型で公開されるメンバーは以下のとおりです。

  名前説明
パブリック メソッドItemsControlItemsControl クラスの新しいインスタンスを初期化します。
このページのトップへ

  名前説明
パブリック プロパティActualHeightFrameworkElement の描画時の高さを取得します。 (FrameworkElement から継承されます。)
パブリック プロパティActualWidthFrameworkElement の描画時の幅を取得します。 (FrameworkElement から継承されます。)
パブリック プロパティAllowDropこの UIElement をドラッグ アンド ドロップ操作の対象として使用できるかどうかを判断する値を取得または設定します。 (UIElement から継承されます。)
パブリック プロパティBackgroundコントロールの背景を提供するブラシを取得または設定します。 (Control から継承されます。)
パブリック プロパティBorderBrushコントロールの境界線の背景を表すブラシを取得または設定します。 (Control から継承されます。)
パブリック プロパティBorderThicknessコントロールの境界線の太さを取得または設定します。 (Control から継承されます。)
パブリック プロパティCacheModeレンダリングされたコンテンツを可能な場合にキャッシュするように指示する値を取得または設定します。 (UIElement から継承されます。)
パブリック プロパティCharacterSpacingフォント サイズの 1/1000 単位で測定されるコントロール内のテキストの文字間の距離を取得または設定します。 (Control から継承されます。)
パブリック プロパティClipUIElement のコンテンツのアウトラインの定義に使用する Geometry を取得または設定します。 (UIElement から継承されます。)
パブリック プロパティCursorインフラストラクチャ。 ポインターが FrameworkElement の上にあるときに表示されるカーソル イメージを取得または設定します。 (FrameworkElement から継承されます。)
パブリック プロパティDataContextFrameworkElement がデータ バインディングに関与するときにそのデータ コンテキストを取得または設定します。 (FrameworkElement から継承されます。)
プロテクト プロパティDefaultStyleKeyコントロールの既定のスタイルを参照するキーを取得または設定します。 (Control から継承されます。)
パブリック プロパティDesiredSizeレイアウト処理の測定パスの実行中にこの UIElement が計算したサイズを取得します。 (UIElement から継承されます。)
パブリック プロパティDispatcherこのオブジェクトに関連付けられている Dispatcher を取得します。 (DependencyObject から継承されます。)
パブリック プロパティDisplayMemberPathデータ アイテムごとに表示されるプロパティ名またはプロパティのパスを取得または設定します。
パブリック プロパティFlowDirectionレイアウトを制御する親要素内でのテキストやその他のユーザー インターフェイス要素のフロー方向を取得または設定します。 (FrameworkElement から継承されます。)
パブリック プロパティFontFamilyコントロール内のテキストを表示するために使用されるフォントを取得または設定します。 (Control から継承されます。)
パブリック プロパティFontSizeこのコントロールのテキストのサイズを取得または設定します。 (Control から継承されます。)
パブリック プロパティFontStretch画面上でフォントを縮小または拡大する度合いを取得または設定します。 (Control から継承されます。)
パブリック プロパティFontStyleテキストをレンダリングするスタイルを取得または設定します。 (Control から継承されます。)
パブリック プロパティFontWeight指定したフォントの太さを取得または設定します。 (Control から継承されます。)
パブリック プロパティForeground前景色を表すブラシを取得または設定します。 (Control から継承されます。)
パブリック プロパティHeightFrameworkElement の高さの推奨値を取得または設定します。 (FrameworkElement から継承されます。)
パブリック プロパティHorizontalAlignmentFrameworkElement がレイアウトの親 (パネル コントロールや項目コントロールなど) の一部となる場合に適用される水平方向の配置の特性を取得または設定します。 (FrameworkElement から継承されます。)
パブリック プロパティHorizontalContentAlignmentコントロールのコンテンツの水平方向の配置を取得または設定します。 (Control から継承されます。)
パブリック プロパティIsEnabledユーザーがコントロールを操作できるかどうかを示す値を取得または設定します。 (Control から継承されます。)
パブリック プロパティIsHitTestVisibleこの UIElement に含まれる領域が、ヒット テストに対して true 値を返すことができるかどうかを示す値を取得または設定します。 (UIElement から継承されます。)
パブリック プロパティIsTabStopコントロールがタブ ナビゲーションに含まれるかどうかを示す値を取得または設定します。 (Control から継承されます。)
パブリック プロパティItemContainerGeneratorこの ItemsControl に関連付けられている ItemContainerGenerator を取得します。
パブリック プロパティItemsコントロールのコンテンツを生成するのに使用されるコレクションを取得します。
パブリック プロパティItemsPanel項目のレイアウトを制御するパネルを定義するテンプレートを取得または設定します。
パブリック プロパティItemsSourceItemsControl のコンテンツの生成に使用するコレクションを取得または設定します。
パブリック プロパティItemTemplate各項目を表示するために使用する DataTemplate を取得または設定します。
パブリック プロパティLanguageFrameworkElement に適用されるローカリゼーション/グローバリゼーション言語情報を取得または設定します。 (FrameworkElement から継承されます。)
パブリック プロパティMarginFrameworkElement の外側の余白を取得または設定します。 (FrameworkElement から継承されます。)
パブリック プロパティMaxHeightFrameworkElement の高さの上限を取得または設定します。 (FrameworkElement から継承されます。)
パブリック プロパティMaxWidthFrameworkElement の幅の上限を取得または設定します。 (FrameworkElement から継承されます。)
パブリック プロパティMinHeightFrameworkElement の高さの下限を取得または設定します。 (FrameworkElement から継承されます。)
パブリック プロパティMinWidthFrameworkElement の幅の下限を取得または設定します。 (FrameworkElement から継承されます。)
パブリック プロパティNameオブジェクトの識別名を取得または設定します。XAML プロセッサが XAML マークアップからオブジェクト ツリーを作成すると、ランタイム コードでは、XAML で宣言されたオブジェクトをこの名前で参照できます。 (FrameworkElement から継承されます。)
パブリック プロパティOpacityオブジェクトの不透明度を取得または設定します。 (UIElement から継承されます。)
パブリック プロパティOpacityMaskこのオブジェクトの領域の不透明度を変更する場合に使用するブラシを取得または設定します。 (UIElement から継承されます。)
パブリック プロパティPaddingコントロール内のスペースを取得または設定します。 (Control から継承されます。)
パブリック プロパティParentオブジェクト ツリーにおけるこの FrameworkElement の親オブジェクトを取得します。 (FrameworkElement から継承されます。)
パブリック プロパティProjectionUIElement のレンダリング時に適用されるパースペクティブ射影 (3-D 効果) を取得または設定します。 (UIElement から継承されます。)
パブリック プロパティRenderSizeUIElement の最終的な描画サイズを取得します。 (UIElement から継承されます。)
パブリック プロパティRenderTransformUIElement の描画位置に影響する変換情報を取得または設定します。 (UIElement から継承されます。)
パブリック プロパティRenderTransformOriginRenderTransform によって宣言された任意の描画変換の、UIElement の境界に対する原点を取得または設定します。 (UIElement から継承されます。)
パブリック プロパティResourcesローカルで定義されたリソース ディクショナリを取得します。XAML では、XAML の暗黙的なコレクション構文を使用して、frameworkElement.Resources プロパティ要素の子オブジェクト要素としてリソース項目を設定できます。 (FrameworkElement から継承されます。)
パブリック プロパティStyleレンダリング中にこのオブジェクトに適用される Style インスタンスを取得または設定します。 (FrameworkElement から継承されます。)
パブリック プロパティTabIndexユーザーが Tab キーを使用してコントロール間を移動するときに、要素がフォーカスを受ける順序を決定する値を取得または設定します (Control から継承されます。)
パブリック プロパティTabNavigationこのコントロールにおける Tab キーによる移動と TabIndex の動作を変更する値を取得または設定します。 (Control から継承されます。)
パブリック プロパティTagこのオブジェクトに関するカスタム情報を格納するために使用できる任意のオブジェクト値を取得または設定します。 (FrameworkElement から継承されます。)
パブリック プロパティTemplateコントロール テンプレートを取得または設定します。 (Control から継承されます。)
パブリック プロパティTriggersFrameworkElement に対して定義されたアニメーションのトリガーのコレクションを取得します。 (FrameworkElement から継承されます。)
パブリック プロパティUseLayoutRoundingオブジェクトとそのビジュアル サブツリーの描画で、描画をピクセル単位に揃える丸め処理を使用するかどうかを決定する値を取得または設定します。 (UIElement から継承されます。)
パブリック プロパティUseOptimizedManipulationRoutingシステムが入力イベントを処理するか、FrameworkElement が入力イベントを処理するかを示す値を取得または設定します。 (FrameworkElement から継承されます。)
パブリック プロパティVerticalAlignmentFrameworkElement が親オブジェクト (パネル コントロールや項目コントロールなど) の一部となる場合に適用される垂直方向の配置の特性を取得または設定します。 (FrameworkElement から継承されます。)
パブリック プロパティVerticalContentAlignmentコントロールのコンテンツの垂直方向の配置を取得または設定します。 (Control から継承されます。)
パブリック プロパティVisibilityUIElement の可視性を取得または設定します。表示されない UIElement は描画されず、レイアウトに対して必要サイズも伝達されません。 (UIElement から継承されます。)
パブリック プロパティWidthFrameworkElement の幅を取得または設定します。 (FrameworkElement から継承されます。)
このページのトップへ

  名前説明
パブリック メソッドAddHandler指定したルーティング イベントのルーティング イベント ハンドラーを、現在の要素のハンドラー コレクションに追加します。イベント ルート上の他の要素により既に処理済みとしてマークされているルーティング イベントに対し、指定したハンドラーが呼び出されるようにするには、handledEventsTootrue に指定します。 (UIElement から継承されます。)
パブリック メソッドApplyTemplateパーツを参照できるように関連するコントロール テンプレートを読み込みます。 (Control から継承されます。)
パブリック メソッドArrange子オブジェクトを配置し、UIElement のサイズを決定します。子要素に対してカスタム レイアウトを実装する親オブジェクトは、それらのレイアウトのオーバーライド実装からこのメソッドを呼び出し、レイアウトを再帰的に更新する必要があります。 (UIElement から継承されます。)
プロテクト メソッドArrangeOverrideWindows Phone レイアウトの配置パスの動作を提供します。クラスはこのメソッドをオーバーライドして、独自の配置パス動作を定義できます。 (FrameworkElement から継承されます。)
パブリック メソッドCaptureMouseUIElement にタッチ キャプチャを設定します。 (UIElement から継承されます。)
パブリック メソッドCheckAccess呼び出しスレッドが、このオブジェクトにアクセスできるかどうかを判断します。 (DependencyObject から継承されます。)
プロテクト メソッドClearContainerForItemOverridePrepareContainerForItemOverride メソッドの実行結果を元に戻します。
パブリック メソッドClearValue依存関係プロパティのローカル値をクリアします。 (DependencyObject から継承されます。)
パブリック メソッドEquals(Object)指定した Object が、現在の Object と等しいかどうかを判断します。 (Object から継承されます。)
プロテクト メソッドFinalizeObject がガベージ コレクションで再利用される前に、Object がリソースを解放して他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。)
パブリック メソッドFindName指定した識別名を持つオブジェクトを取得します。 (FrameworkElement から継承されます。)
パブリック メソッドFocusコントロールへのフォーカスの設定を試行します。 (Control から継承されます。)
パブリック メソッドGetAnimationBaseValueアニメーションがアクティブでない場合に適用される、Windows Phone 依存関係プロパティに対し設定されている基本値を返します。 (DependencyObject から継承されます。)
パブリック メソッドGetBindingExpressionバインディングが確立された依存関係プロパティの BindingExpression を取得します。 (FrameworkElement から継承されます。)
プロテクト メソッドGetContainerForItemOverride指定された項目の表示に使用する要素を作成または識別します。
パブリック メソッドGetHashCode特定の型のハッシュ関数として機能します。 (Object から継承されます。)
パブリック メソッド静的メンバーGetItemsOwner指定された要素がホストする項目が格納されている ItemsControl を返します。
プロテクト メソッドGetTemplateChildインスタンス化されている ControlTemplate ビジュアル ツリー内の名前付き要素を取得します。 (Control から継承されます。)
パブリック メソッドGetType現在のインスタンスの Type を取得します。 (Object から継承されます。)
パブリック メソッドGetValueDependencyObject から依存関係プロパティの現在の有効値を返します。 (DependencyObject から継承されます。)
パブリック メソッドInvalidateArrangeUIElement の配置状態 (レイアウト) を無効にします。無効にした後、UIElement のレイアウトが更新されます。更新は非同期で行われます。 (UIElement から継承されます。)
パブリック メソッドInvalidateMeasureUIElement の測定状態 (レイアウト) を無効にします。 (UIElement から継承されます。)
プロテクト メソッドIsItemItsOwnContainerOverride指定された項目が自身のコンテナーかどうか (または自身のコンテナーにすることができるかどうか) を判断します。
パブリック メソッド静的メンバーItemsControlFromItemContainer指定されたコンテナー要素を所有する ItemsControl を返します。
パブリック メソッドMeasureUIElementDesiredSize を更新します。通常、レイアウトの子のカスタム レイアウトを実装するオブジェクトは、独自の MeasureOverride 実装からこのメソッドを呼び出し、レイアウトを再帰的に更新します。 (UIElement から継承されます。)
プロテクト メソッドMeasureOverrideWindows Phone レイアウトの測定パスの動作を提供します。クラスはこのメソッドをオーバーライドして、独自の測定パス動作を定義できます。 (FrameworkElement から継承されます。)
プロテクト メソッドMemberwiseClone現在の Object の簡易コピーを作成します。 (Object から継承されます。)
パブリック メソッドOnApplyTemplate派生クラスでオーバーライドされると、アプリケーション コードや内部プロセス (再構築レイアウト パスなど) で ApplyTemplate が呼び出されるたびに呼び出されます。簡単に言えば、メソッドは、アプリケーションに UI 要素が表示される直前に呼び出されることになります。詳細については、「解説」を参照してください。 (FrameworkElement から継承されます。)
プロテクト メソッドOnCreateAutomationPeer派生クラスで実装された場合、Windows Phone オートメーション インフラストラクチャの、クラス固有の AutomationPeer 実装を返します。 (UIElement から継承されます。)
プロテクト メソッドOnDoubleTapDoubleTap イベントが発生する前に呼び出されます。Windows Phone でのジェスチャの使用方法については、「Windows Phone の操作イベントを処理する方法」を参照してください。 (Control から継承されます。)
プロテクト メソッドOnDragEnterインフラストラクチャ。 領域内へのドラッグ イベントが発生する前に呼び出されます。 (Control から継承されます。)
プロテクト メソッドOnDragLeaveインフラストラクチャ。 領域外へのドラッグ イベントが発生する前に呼び出されます。 (Control から継承されます。)
プロテクト メソッドOnDragOverインフラストラクチャ。 領域上へのドラッグ イベントが発生する前に呼び出されます。 (Control から継承されます。)
プロテクト メソッドOnDropインフラストラクチャ。 ドロップ イベントの発生前に呼び出されます。 (Control から継承されます。)
プロテクト メソッドOnGotFocusGotFocus イベントが発生する前に呼び出されます。 (Control から継承されます。)
プロテクト メソッドOnHoldHold イベントが発生する前に呼び出されます。Windows Phone でのジェスチャの使用方法については、「Windows Phone の操作イベントを処理する方法」を参照してください。 (Control から継承されます。)
プロテクト メソッドOnItemsChangedItems プロパティの値が変更されたときに呼び出されます。
プロテクト メソッドOnKeyDownKeyDown イベントが発生する前に呼び出されます。 (Control から継承されます。)
プロテクト メソッドOnKeyUpKeyUp イベントが発生する前に呼び出されます。 (Control から継承されます。)
プロテクト メソッドOnLostFocusLostFocus イベントが発生する前に呼び出されます。 (Control から継承されます。)
プロテクト メソッドOnLostMouseCaptureLostMouseCapture イベントが発生する前に呼び出され、デリゲートをアタッチせずに、派生クラスでイベントを処理します。 (Control から継承されます。)
プロテクト メソッドOnManipulationCompletedManipulationCompleted イベントが発生する前に呼び出されます。 (Control から継承されます。)
プロテクト メソッドOnManipulationDeltaManipulationDelta イベントが発生する前に呼び出されます。 (Control から継承されます。)
プロテクト メソッドOnManipulationStartedManipulationStarted イベントが発生する前に呼び出されます。 (Control から継承されます。)
プロテクト メソッドOnMouseEnterMouseEnter イベントが発生する前に呼び出されます。 (Control から継承されます。)
プロテクト メソッドOnMouseLeaveMouseLeave イベントが発生する前に呼び出されます。 (Control から継承されます。)
プロテクト メソッドOnMouseLeftButtonDownMouseLeftButtonDown イベントが発生する前に呼び出されます。 (Control から継承されます。)
プロテクト メソッドOnMouseLeftButtonUpMouseLeftButtonUp イベントが発生する前に呼び出されます。 (Control から継承されます。)
プロテクト メソッドOnMouseMoveMouseMove イベントが発生する前に呼び出されます。 (Control から継承されます。)
プロテクト メソッドOnMouseRightButtonDownインフラストラクチャ。 マウスの右ボタンを押すイベントが発生する前に呼び出されます。 (Control から継承されます。)
プロテクト メソッドOnMouseRightButtonUpインフラストラクチャ。 マウスの右ボタンを離すイベントが発生する前に呼び出されます。 (Control から継承されます。)
プロテクト メソッドOnMouseWheelインフラストラクチャ。 MouseWheel イベントが発生する前に呼び出され、デリゲートをアタッチせずに、派生クラスでイベントを処理します。 (Control から継承されます。)
プロテクト メソッドOnTapTap イベントが発生する前に呼び出されます。Windows Phone でのジェスチャの使用方法については、「Windows Phone の操作イベントを処理する方法」を参照してください。 (Control から継承されます。)
プロテクト メソッドOnTextInputTextInput イベントが発生する前に呼び出されます。 (Control から継承されます。)
プロテクト メソッドOnTextInputStartTextInputStart イベントが発生する前に呼び出されます。 (Control から継承されます。)
プロテクト メソッドOnTextInputUpdateTextInputUpdate イベントが発生する前に呼び出されます。 (Control から継承されます。)
プロテクト メソッドPrepareContainerForItemOverride指定された項目を表示するために、指定された要素を準備します。
パブリック メソッドReadLocalValueローカル値が設定されている場合、依存関係プロパティのローカル値を返します。 (DependencyObject から継承されます。)
パブリック メソッドReleaseMouseCaptureUIElement からタッチ キャプチャを削除します。この呼び出しの後には、通常、タッチ キャプチャを保持しているオブジェクトがなくなります。 (UIElement から継承されます。)
パブリック メソッドRemoveHandler指定したルーティング イベント ハンドラーをこの UIElement から削除します。 (UIElement から継承されます。)
パブリック メソッドSetBinding指定されたバインディング オブジェクトを使用して FrameworkElement にバインディングをアタッチし、後で使用できるように BindingExpressionBase を返します。 (FrameworkElement から継承されます。)
パブリック メソッドSetValueDependencyObject で依存関係プロパティのローカル値を設定します。 (DependencyObject から継承されます。)
パブリック メソッドToString現在のオブジェクトを表す文字列を返します。 (Object から継承されます。)
パブリック メソッドTransformToVisualUIElement から指定したオブジェクトに座標を変換するために使用できる変換オブジェクトを返します。 (UIElement から継承されます。)
パブリック メソッドUpdateLayoutUIElement の子オブジェクトのすべての位置がレイアウトに対して適切に更新されるようにします。 (UIElement から継承されます。)
このページのトップへ

  名前説明
パブリック イベントBindingValidationErrorバインディング ソースによってデータ検証エラーが報告されたときに発生します。 (FrameworkElement から継承されます。)
パブリック イベントDoubleTapDoubleTap ジェスチャがこの UIElement 上にある間にコミットされたときに発生します。 (UIElement から継承されます。)
パブリック イベントGotFocusUIElement がフォーカスを受け取ったときに発生します。 (UIElement から継承されます。)
パブリック イベントHoldHold ジェスチャがこの UIElement 上にある間にコミットされたときに発生します。 (UIElement から継承されます。)
パブリック イベントIsEnabledChangedIsEnabled プロパティが変更された場合に発生します。 (Control から継承されます。)
パブリック イベントKeyDownUIElement にフォーカスがあるときにキーボード キーが押されると発生します。 (UIElement から継承されます。)
パブリック イベントKeyUpUIElement にフォーカスがあるときにキーボード キーが離されると発生します。 (UIElement から継承されます。)
パブリック イベントLayoutUpdatedWindows Phone のビジュアル ツリーのレイアウトが変化したときに発生します。 (FrameworkElement から継承されます。)
パブリック イベントLoadedFrameworkElement が構築されてオブジェクト ツリーに追加されたときに発生します。 (FrameworkElement から継承されます。)
パブリック イベントLostFocusUIElement がフォーカスを失ったときに発生します。 (UIElement から継承されます。)
パブリック イベントLostMouseCaptureUIElement でタッチのキャプチャを失ったときに発生します。 (UIElement から継承されます。)
パブリック イベントManipulationCompletedUIElement の操作および慣性による処理が完了すると発生します。 (UIElement から継承されます。)
パブリック イベントManipulationDelta操作中に入力デバイスが位置を変更したときに発生します。 (UIElement から継承されます。)
パブリック イベントManipulationStarted入力デバイスで UIElement の操作を開始すると発生します。 (UIElement から継承されます。)
パブリック イベントMouseEnterUIElement の境界領域内で画面のタップが発生したときに発生します。 (UIElement から継承されます。)
パブリック イベントMouseLeaveUIElement の境界領域外でタッチ イベントが発生したときに発生します。 (UIElement から継承されます。)
パブリック イベントMouseLeftButtonDownUIElement がタップされたときに発生します。 (UIElement から継承されます。)
パブリック イベントMouseLeftButtonUpUIElement から指を離したときに (つまり、UIElement タッチ キャプチャを保持している間) 発生します。 (UIElement から継承されます。)
パブリック イベントMouseMove画面上で指の座標位置が UIElement をタッチしているときに (つまり、UIElement がタッチ キャプチャを保持している間) 発生します。 (UIElement から継承されます。)
パブリック イベントMouseWheelインフラストラクチャ。 マウス ポインターが UIElement 上にあるとき、または UIElement にフォーカスがあるときに、ユーザーがマウス ホイールを回転させると発生します。 (UIElement から継承されます。)
パブリック イベントSizeChangedFrameworkElementActualHeight プロパティまたは ActualWidth プロパティの値が変更されると発生します。 (FrameworkElement から継承されます。)
パブリック イベントTapTap ジェスチャがこの UIElement 上にある間にコミットされたときに発生します。 (UIElement から継承されます。)
パブリック イベントTextInputデバイスに依存しない方法で UI 要素がテキストを取得すると発生します。 (UIElement から継承されます。)
パブリック イベントTextInputStartデバイスに依存しない方法で UI 要素が最初にテキストを取得すると発生します。 (UIElement から継承されます。)
パブリック イベントTextInputUpdate入力方式エディター (IME) を使用してテキストが引き続き作成されるときに発生します。 (UIElement から継承されます。)
パブリック イベントUnloadedこのオブジェクトがメイン オブジェクト ツリーに接続されていない状態になると発生します。 (FrameworkElement から継承されます。)
このページのトップへ

  名前説明
パブリック フィールド静的メンバーDisplayMemberPathPropertyDisplayMemberPath 依存関係プロパティを識別します。
パブリック フィールド静的メンバーItemsPanelPropertyItemsPanel 依存関係プロパティを識別します。
パブリック フィールド静的メンバーItemsSourcePropertyItemsSource 依存関係プロパティを識別します。
パブリック フィールド静的メンバーItemTemplatePropertyItemTemplate 依存関係プロパティを識別します。
このページのトップへ

一般に、ItemsControl は 2 つの役割を果たします。固定した項目セットを表示するか、オブジェクトへのデータ バインディングから得られるリストを表示することです。ItemsControl を継承するコントロールがいくつか存在するので、それをアプリケーションで使用することもできますが、ItemsControl を直接使用することもできます。たとえば、選択不可のリストとしてデータのコレクションを表示する場合、ItemsControl を使用してデータを格納できます。ItemsControl を使用するか、子のクラスを使用するかに関係なく、ItemTemplate を使用して各項目の外観を指定できます。

固定したリストを表示する場合は、1 つ以上の FrameworkElement 子オブジェクトで Items を設定し、DisplayMemberPath を既定の空の文字列のままにします。ItemsSource は指定しないでください。

オブジェクト ソースからのデータを表示する場合は、オブジェクトへの参照として ItemsSource を指定します。通常、これは Binding の宣言によって行われ、バインディング ソースとして使用されるオブジェクトの解決機構は、動作している DataContext に影響される可能性があります。返されたオブジェクトの既定の表示を使用して繰り返しデータとして表示する特定のプロパティの名前またはパスとして DisplayMemberPath を設定できます。または、DisplayMemberPath を既定の空の文字列のままにし、ItemTemplate に対して DataTemplate を指定することもできます。最後の方法では、各項目の視覚的表現をより正確に制御できます。また、テンプレートで定義したレイアウトを使用して、各項目内の各データ バインド オブジェクトの複数のプロパティを表示できます。

ItemsControl を作成する例を次に示します。既定では、ItemsControl には項目が一覧表示されるだけで、クロムなど、他の視覚的特性は備わっていません。この例では、ControlTemplate を指定することで、ItemsControl に境界線を適用しています。また、各項目の外観を指定するための DataTemplate と、項目を水平方向にレイアウトするための ItemsPanelTemplate も指定されています。


<Grid>
  <Grid.Resources>
    <src:Tasks x:Key="myTodoList"/>
  </Grid.Resources>  
  <ItemsControl Margin="10" Width="400" 
            ItemsSource="{Binding Source={StaticResource myTodoList}}">
    <!--Use the Template property to specify a ControlTemplate to define
    the appearance of an ItemsControl. The ItemsPresenter uses the specified
    ItemsPanelTemplate (defined below) to layout the items. If an
    ItemsPanelTemplate is not specified, the default is used. (For ItemsControl,
    the default is an ItemsPanelTemplate that specifies a StackPanel that
    arranges items vertically.)-->
    <ItemsControl.Template>
      <ControlTemplate TargetType="ItemsControl">
        <Border BorderBrush="Aqua" BorderThickness="1" CornerRadius="15">
          <ItemsPresenter/>
        </Border>
      </ControlTemplate>
    </ItemsControl.Template>
    <!--Use the ItemsPanel property to specify an ItemsPanelTemplate
    that defines the panel that is used to hold the generated items.
    In other words, use this property if you want to affect
    how the items are laid out.-->
    <ItemsControl.ItemsPanel>
      <ItemsPanelTemplate>
        <StackPanel Orientation="Horizontal"/>
      </ItemsPanelTemplate>
    </ItemsControl.ItemsPanel>
    <!--Use the ItemTemplate to set a DataTemplate to define
    the appeatance of the data objects. This DataTemplate
    specifies that each data object appears with the Proriity
    and TaskName on top of a silver ellipse.-->
    <ItemsControl.ItemTemplate>
      <DataTemplate>
        <Grid Width="70" Margin="5">
          <Ellipse Fill="Silver"/>
          <StackPanel>
            <TextBlock Margin="3,3,3,0" FontSize="12" HorizontalAlignment="Center"
                   Text="{Binding Path=Priority}"/>
            <TextBlock Margin="3,0,3,7" FontSize="12" HorizontalAlignment="Center"
                   Text="{Binding Path=TaskName}"/>
          </StackPanel>
        </Grid>
      </DataTemplate>
    </ItemsControl.ItemTemplate>
  </ItemsControl>
</Grid>



public class Task : INotifyPropertyChanged
{
    private string name;
    private int priority;


    public event PropertyChangedEventHandler PropertyChanged;

    public Task()
    {
    }

    public Task(string name, int priority)
    {
        this.name = name;
        this.priority = priority;
    }

    public override string ToString()
    {
        return name.ToString();
    }

    public string TaskName
    {
        get { return name; }
        set
        {
            name = value;
            OnPropertyChanged("TaskName");
        }
    }

    public int Priority
    {
        get { return priority; }
        set
        {
            priority = value;
            OnPropertyChanged("Priority");
        }
    }

    protected void OnPropertyChanged(string info)
    {
        PropertyChangedEventHandler handler = PropertyChanged;
        if (handler != null)
        {
            handler(this, new PropertyChangedEventArgs(info));
        }
    }
}

public class Tasks : ObservableCollection<Task>
{
    public Tasks()
        : base()
    {
        Add(new Task("Shopping", 2));
        Add(new Task("Laundry", 2));
        Add(new Task("Email", 1));
        Add(new Task("Clean", 3));
        Add(new Task("Dinner", 1));
    }
}


前の例では、次の図のような出力を生成します。

カスタマイズされた ItemsControl

Customized ItemsControl

Windows Phone OS

サポート: 8.0, 7.1, 7.0

この型のすべてのパブリック static (Visual Basic では Shared) メンバーは、スレッド セーフです。インスタンス メンバーの場合は、スレッド セーフであるとは限りません。

表示:
© 2014 Microsoft