コントロール パターンとインターフェイス

Microsoft UI オートメーションのコントロール パターン、それらにアクセスするためにクライアントが使うクラス、それらを実装するためにプロバイダーが使うインターフェイスを紹介します。

このトピックの表は、Microsoft UI オートメーションのコントロール パターン、 それらにアクセスするために UI オートメーション クライアントが使うクラス、それらを実装するために UI オートメーション プロバイダーが使うインターフェイスを示しています。 Control pattern 列には、Control Pattern Availability Property Identifiers に一覧表示される定数値として、UI オートメーション クライアントから見たパターン名が表示されます。 UI オートメーション プロバイダーの側から見ると、これらのパターンは PatternInterface の定数名です。 "クラス プロバイダー インターフェイス" 列には、カスタム XAML コントロールにこのパターンを提供するためにプロバイダーが実装するインターフェイスの名前が表示されます。

コントロール パターンを公開してインターフェイスを実装するカスタム オートメーション ピアの実装方法について詳しくは、「カスタム オートメーション ピア」をご覧ください。

コントロール パターンを実装する場合は、実装のために使う UI フレームワークにかかわらず、コントロール パターンに対するクライアントの想定について UI オートメーション プロバイダーのドキュメントもご覧ください。 一般的な UI オートメーション プロバイダーのドキュメントには、ピアの実装方法およびそのパターンを正しくサポートする方法に関連する情報が含まれます。 実装するパターンについては、「UI オートメーション コントロール パターンの実装」をご覧ください。

コントロール パターン クラス プロバイダー インターフェイス 説明
注釈 IAnnotationProvider ドキュメント内の注釈のプロパティを公開するために使われます。
Dock IDockProvider ドッキング コンテナーにドッキングすることができるコントロールに使用されます。 たとえば、ツールバーやツール パレットです。
Drag IDragProvider ドラッグ可能なコントロール、またはドラッグ可能な項目を含むコントロールをサポートするために使われます。
DropTarget IDropTargetProvider ドラッグ アンド ドロップ操作のターゲットにできるコントロールをサポートするために使われます。
ExpandCollapse IExpandCollapseProvider コンテンツの表示拡大のために展開し、コンテンツの非表示のために折りたたむコントロールをサポートするために使われます。
Grid IGridProvider サイズ変更や指定したセルへの移動などグリッド機能をサポートするコントロールに使用されます。 グリッドはレイアウトを提供しますがコントロールではないため、グリッド自体はこのパターンを実装しません。
GridItem IGridItemProvider グリッド内にセルを持つコントロールに使用されます。
Invoke IInvokeProvider 呼び出すことができるコントロールに使われます (Button など)。
ItemContainer IItemContainerProvider 仮想化されたリストなどのコンテナー内の要素をアプリが見つけられるようにします。
MultipleView IMultipleViewProvider 情報、データ、子の同じセットの複数の表現の間で切り替えることができるコントロールに使用されます。
ObjectModel IObjectModelProvider ドキュメントの基になるオブジェクト モデルにポインターを公開するために使われます。
RangeValue IRangeValueProvider コントロールに適用できる値の範囲を持つコントロールに使用されます。 たとえば、年を含むスピン ボックス コントロールの値の範囲は 1900 年から現在の年までになり、月を提示するスピン ボックス コントロールの値の範囲は 1 ~ 12 になります。
スクロール IScrollProvider スクロールできるコントロールに使用されます。 たとえば、コントロールの表示可能領域に表示できる量より多くの情報があるとアクティブになるスクロール バーを持つコントロール。
ScrollItem IScrollItemProvider スクロールされるリスト内に個々の項目を持つコントロールに使用されます。 たとえば、コンボ ボックス コントロールなどスクロール リストに個々の項目を持つリスト コントロール。
選択内容 ISelectionProvider 選択コンテナー コントロールに使用されます。 (ListBoxComboBox など)。
SelectionItem ISelectionItemProvider リスト ボックスやコンボ ボックスなどの選択コンテナー コントロールの個々の項目に使用されます。
スプレッドシート ISpreadsheetProvider スプレッドシートまたは他のグリッド ベースのドキュメントのコンテンツを公開するために使われます。
SpreadsheetItem ISpreadsheetItemProvider スプレッドシートまたは他のグリッド ベースのドキュメントでセルのプロパティを公開するために使われます。
スタイル IStylesProvider 特定のスタイル、塗りつぶしの色、塗りつぶしパターン、または図形を含む UI 要素を記述するために使われます。
SynchronizedInput ISynchronizedInputProvider UI オートメーション クライアント アプリでマウスまたはキーボード入力を特定の UI 要素に転送することを可能にします。
テーブル ITableProvider グリッドとヘッダー情報を持つコントロールに使用されます。 (表形式のカレンダー コントロールなど)。
TableItem ITableItemProvider テーブル内の項目に使用されます。
[テキスト] ITextProvider テキストの情報を公開するエディット コントロールとドキュメントに使用されます。 また、「ITextRangeProvider」および「ITextProvider2」もご覧ください。
TextChild ITextChildProvider Text コントロール パターンをサポートする、要素に最も近い祖先にアクセスするために使われます。
TextEdit 使用できるマネージ クラスがありません テキストを変更するコントロール (たとえば、自動修正の実行、入力方式エディター (IME) を通じた入力合成の有効化を行うコントロールなど) へのアクセスを提供します。
TextRange ITextRangeProvider ITextProvider を実装するテキスト コンテナー内の一続きのテキストへのアクセスを提供します。 ITextRangeProvider2 もご覧ください。
トグル IToggleProvider 状態を切り替えることができるコントロールに使用されます。 (CheckBox、オン/オフを切り替えることのできるメニュー項目など)。
変換 ITransformProvider サイズ変更、移動、または回転を行えるコントロールに使用されます。 Transform コントロール パターンの一般的な用途は、デザイナー、フォーム、グラフィカル エディター、および描画アプリケーションでの使用です。
Value IValueProvider クライアントで、値の範囲をサポートしないコントロールで値を取得したり、設定したりできます。
VirtualizedItem IVirtualizedItemProvider 仮想化されていて、UI オートメーション要素として完全にアクセスできるようにする必要があるコンテナー内の項目を公開します。
ウィンドウ IWindowProvider ウィンドウ固有の情報を公開します。ウィンドウは、Microsoft Windows オペレーティング システムの基本概念です。 たとえば、子ウィンドウ、ダイアログなどのコントロールはウィンドウです。

注意

既存の XAML コントロールで、必ずしもこれらすべてのパターンの実装が見られるわけではありません。 一部のパターンでは、パターンの一般的な UI オートメーション フレームワーク定義との等価性を維持し、そのパターンをサポートするための純粋なカスタム実装を必要とするオートメーション ピア シナリオに対応することだけを目的としてインターフェイスが使用されている場合があります。

注意

Windows Phone ストア アプリでは、ここに示されているすべての UI オートメーションのコントロール パターンがサポートされているわけではありません。 AnnotationDockDragDropTargetObjectModel がサポートされていないパターンの例です。