コントロール パターンとインターフェイスControl patterns and interfaces

Microsoft UI オートメーションのコントロール パターン、それらにアクセスするためにクライアントが使うクラス、それらを実装するためにプロバイダーが使うインターフェイスを紹介します。Lists the Microsoft UI Automation control patterns, the classes that clients use to access them, and the interfaces providers use to implement them.

このトピックの表は、Microsoft UI オートメーションのコントロール パターン、The table in this topic describes the Microsoft UI Automation control patterns. それらにアクセスするために UI オートメーション クライアントが使うクラス、それらを実装するために UI オートメーション プロバイダーが使うインターフェイスを示しています。The table also lists the classes used by UI Automation clients to access the control patterns and the interfaces used by UI Automation providers to implement them. Control pattern 列には、Control Pattern Availability Property Identifiers に一覧表示される定数値として、UI オートメーション クライアントから見たパターン名が表示されます。The Control pattern column shows the pattern name from the UI Automation client perspective, as a constant value listed in Control Pattern Availability Property Identifiers. UI オートメーション プロバイダーの側から見ると、これらのパターンは PatternInterface の定数名です。From the UI Automation provider perspective, each of these patterns is a PatternInterface constant name. "クラス プロバイダー インターフェイス" 列には、カスタム XAML コントロールにこのパターンを提供するためにプロバイダーが実装するインターフェイスの名前が表示されます。The Class provider interface column shows the name of the interface that providers implement to provide this pattern for a custom XAML control.

コントロール パターンを公開してインターフェイスを実装するカスタム オートメーション ピアの実装方法について詳しくは、「カスタム オートメーション ピア」をご覧ください。For more info about how to implement custom automation peers that expose control patterns and implement the interfaces, see Custom automation peers.

コントロール パターンを実装する場合は、実装のために使う UI フレームワークにかかわらず、コントロール パターンに対するクライアントの想定について UI オートメーション プロバイダーのドキュメントもご覧ください。When you implement a control pattern, you should also consult the UI Automation provider documentation that explains some of the expectations that clients will have of a control pattern regardless of which UI framework is used to implement it. 一般的な UI オートメーション プロバイダーのドキュメントには、ピアの実装方法およびそのパターンを正しくサポートする方法に関連する情報が含まれます。Some of the info listed in the general UI Automation provider documentation will influence how you implement your peers and correctly support that pattern. 実装するパターンについては、「UI オートメーション コントロール パターンの実装」をご覧ください。See Implementing UI Automation Control Patterns, and view the page that documents the pattern you intend to implement.

コントロール パターンControl pattern クラス プロバイダー インターフェイスClass provider interface 説明Description
注釈Annotation IAnnotationProviderIAnnotationProvider ドキュメント内の注釈のプロパティを公開するために使われます。Used to expose the properties of an annotation in a document.
ドッキング ステーションDock IDockProviderIDockProvider ドッキング コンテナーにドッキングできるコントロールに使われます Used for controls that can be docked in a docking container. (ツール バー、ツール パレットなど)。For example, toolbars or tool palettes.
ドラッグDrag IDragProviderIDragProvider ドラッグ可能なコントロール、またはドラッグ可能な項目を含むコントロールをサポートするために使われます。Used to support draggable controls, or controls with draggable items.
DropTargetDropTarget IDropTargetProviderIDropTargetProvider ドラッグ アンド ドロップ操作のターゲットにできるコントロールをサポートするために使われます。Used to support controls that can be the target of a drag-and-drop operation.
ExpandCollapseExpandCollapse IExpandCollapseProviderIExpandCollapseProvider コンテンツの表示拡大のために展開し、コンテンツの非表示のために折りたたむコントロールをサポートするために使われます。Used to support controls that visually expand to display more content and collapse to hide content.
グリッドGrid IGridProviderIGridProvider サイズ指定、指定したセルへの移動などのグリッド機能をサポートするコントロールに使われます。Used for controls that support grid functionality such as sizing and moving to a specified cell. グリッドはレイアウトを提供しますがコントロールではないため、グリッド自体はこのパターンを実装しません。Note that Grid itself does not implement this pattern because it provides layout but is not a control.
GridItemGridItem IGridItemProviderIGridItemProvider グリッド内のセルを持つコントロールに使われます。Used for controls that have cells within grids.
呼び出すInvoke IInvokeProviderIInvokeProvider 呼び出すことができるコントロールに使われます (Button など)。Used for controls that can be invoked, such as a Button.
ItemContainerItemContainer IItemContainerProviderIItemContainerProvider 仮想化されたリストなどのコンテナー内の要素をアプリが見つけられるようにします。Enables applications to find an element in a container, such as a virtualized list.
MultipleViewMultipleView IMultipleViewProviderIMultipleViewProvider 同じ情報、データ、または子のセットの複数の表現を切り替えることができるコントロールに使われます。Used for controls that can switch between multiple representations of the same set of information, data, or children.
Objectmodel です。ObjectModel IObjectModelProviderIObjectModelProvider ドキュメントの基になるオブジェクト モデルにポインターを公開するために使われます。Used to expose a pointer to the underlying object model of a document.
RangeValueRangeValue IRangeValueProviderIRangeValueProvider 適用できる値の範囲を持つコントロールに使われます。Used for controls that have a range of values that can be applied to the control. たとえば、年を含むスピン ボックス コントロールの値の範囲は 1900 年から現在の年までになり、月を提示するスピン ボックス コントロールの値の範囲は 1 ~ 12 になります。For example, a spinner control containing years might have a range of 1900 to the current year, while another spinner control presenting months would have a range of 1 to 12.
スクロールScroll IScrollProviderIScrollProvider スクロールできるコントロールに使われます Used for controls that can scroll. (表示可能領域に表示しきれない情報がある場合にアクティブになるスクロール バーを持つコントロールなど)。For example, a control that has scroll bars that are active when there is more information than can be displayed in the viewable area of the control.
ScrollItemScrollItem IScrollItemProviderIScrollItemProvider スクロールするリストの個々の項目を持つコントロールに使われます Used for controls that have individual items in a list that scrolls. (コンボ ボックス コントロールなどのスクロール リストの個々の項目を持つリスト コントロールなど)。For example, a list control that has individual items in the scroll list, such as a combo box control.
選択Selection ISelectionProviderISelectionProvider 選択コンテナー コントロールに使われます Used for selection container controls. (ListBoxComboBox など)。For example, ListBox and ComboBox.
SelectionItemSelectionItem ISelectionItemProviderISelectionItemProvider リスト ボックス、コンボ ボックスなどの選択コンテナー コントロールの個々の項目に使われます。Used for individual items in selection container controls, such as list boxes and combo boxes.
スプレッドシートSpreadsheet ISpreadsheetProviderISpreadsheetProvider スプレッドシートまたは他のグリッド ベースのドキュメントのコンテンツを公開するために使われます。Used to expose the contents of a spreadsheet or other grid-based document.
SpreadsheetItemSpreadsheetItem ISpreadsheetItemProviderISpreadsheetItemProvider スプレッドシートまたは他のグリッド ベースのドキュメントでセルのプロパティを公開するために使われます。Used to expose the properties of a cell in a spreadsheet or other grid-based document.
スタイルStyles IStylesProviderIStylesProvider 特定のスタイル、塗りつぶしの色、塗りつぶしパターン、または図形を含む UI 要素を記述するために使われます。Used to describe a UI element that has a specific style, fill color, fill pattern, or shape.
SynchronizedInputSynchronizedInput ISynchronizedInputProviderISynchronizedInputProvider UI オートメーション クライアント アプリでマウスまたはキーボード入力を特定の UI 要素に転送することを可能にします。Enables UI Automation client apps to direct the mouse or keyboard input to a specific UI element.
TableTable ITableProviderITableProvider グリッドとヘッダー情報を持つコントロールに使われます Used for controls that have a grid as well as header information. (表形式のカレンダー コントロールなど)。For example, a tabular calendar control.
TableItemTableItem ITableItemProviderITableItemProvider 表の項目に使われます。Used for items in a table.
TextText ITextProviderITextProvider 編集コントロールやテキスト情報を表示するドキュメントに使われます。Used for edit controls and documents that expose textual information. また、「ITextRangeProvider」および「ITextProvider2」もご覧ください。See also ITextRangeProvider and ITextProvider2.
TextChildTextChild ITextChildProviderITextChildProvider Text コントロール パターンをサポートする、要素に最も近い祖先にアクセスするために使われます。Used to access an element’s nearest ancestor that supports the Text control pattern.
TextEditTextEdit 使用できるマネージ クラスがありませんNo managed class available テキストを変更するコントロール (たとえば、自動修正の実行、入力方式エディター (IME) を通じた入力合成の有効化を行うコントロールなど) へのアクセスを提供します。Provides access to a control that modifies text, for example a control that performs auto-correction or enables input composition through an Input Method Editor (IME).
TextRangeTextRange ITextRangeProviderITextRangeProvider ITextProvider を実装するテキスト コンテナー内の一続きのテキストへのアクセスを提供します。Provides access to a span of continuous text in a text container that implements ITextProvider. ITextRangeProvider2 もご覧ください。See also ITextRangeProvider2.
トグルToggle IToggleProviderIToggleProvider 状態を切り替えることができるコントロールに使われます Used for controls where the state can be toggled. (CheckBox、オン/オフを切り替えることのできるメニュー項目など)。For example, CheckBox and menu items that can be checked.
変換Transform ITransformProviderITransformProvider サイズ変更、移動、回転が可能なコントロールに使われます。Used for controls that can be resized, moved, and rotated. デザイナー、フォーム、グラフィカル エディター、描画アプリなどでよく使われます。Typical uses for the Transform control pattern are in designers, forms, graphical editors, and drawing applications.
Value IValueProviderIValueProvider 値の範囲をサポートしないコントロールの値をクライアントが取得または設定できるようにします。Allows clients to get or set a value on controls that do not support a range of values.
VirtualizedItemVirtualizedItem IVirtualizedItemProviderIVirtualizedItemProvider 仮想化されていて、UI オートメーション要素として完全にアクセスできるようにする必要があるコンテナー内の項目を公開します。Exposes items inside containers that are virtualized and need to be made fully accessible as UI Automation elements.
ウィンドウWindow IWindowProviderIWindowProvider Windows に固有の情報の基本概念、Microsoft Windows オペレーティング システムを公開します。Exposes information specific to windows, a fundamental concept to the Microsoft Windows operating system. たとえば、子ウィンドウ、ダイアログなどのコントロールはウィンドウです。Examples of controls that are windows are child windows and dialogs.

注意

既存の XAML コントロールで、必ずしもこれらすべてのパターンの実装が見られるわけではありません。You won't necessarily find implementations of all these patterns in existing XAML controls. 一部のパターンでは、パターンの一般的な UI オートメーション フレームワーク定義との等価性を維持し、そのパターンをサポートするための純粋なカスタム実装を必要とするオートメーション ピア シナリオに対応することだけを目的としてインターフェイスが使用されている場合があります。Some of the patterns have interfaces solely to support parity with the general UI Automation framework definition of patterns, and to support automation peer scenarios that will require a purely custom implementation to support that pattern.

注意

Windows Phone ストア アプリでは、ここに示されているすべての UI オートメーションのコントロール パターンがサポートされているわけではありません。Windows Phone Store apps do not support all the UI Automation control patterns listed here. AnnotationDockDragDropTargetObjectModel がサポートされていないパターンの例です。Annotation, Dock, Drag, DropTarget, ObjectModel are some of the unsupported patterns.