UI オートメーションによる DataItem コントロール型のサポートUI Automation Support for the DataItem Control Type


このドキュメントは、UI オートメーションUI Automation 名前空間で定義されているマネージド System.Windows.Automation クラスを使用する .NET Framework 開発者を対象としています。This documentation is intended for .NET Framework developers who want to use the managed UI オートメーションUI Automation classes defined in the System.Windows.Automation namespace. UI オートメーションUI Automationの最新情報については、「 Windows Automation API: UI オートメーション」を参照してください。For the latest information about UI オートメーションUI Automation, see Windows Automation API: UI Automation.

このトピックでは、DataItem コントロール型に対する Microsoft UI オートメーションMicrosoft UI Automation のサポートについて説明します。This topic provides information about Microsoft UI オートメーションMicrosoft UI Automation support for the DataItem control type. UI オートメーションUI Automation でのコントロール型とは、コントロールが ControlTypeProperty プロパティを使用するために満たす必要がある一連の条件のことです。In UI オートメーションUI Automation a control type is a set of conditions that a control must meet in order to use the ControlTypeProperty property. これらの条件には、 UI オートメーションUI Automation ツリー構造、 UI オートメーションUI Automation のプロパティ値、およびコントロール パターンに関する特定のガイドラインが含まれます。The conditions include specific guidelines for UI オートメーションUI Automation tree structure, UI オートメーションUI Automation property values and control patterns.

連絡先リストのエントリは、データ項目コントロールの一例です。An entry in a Contacts list is an example of a data item control. データ項目コントロールには、エンド ユーザーに必要な情報が格納されます。A data item control contains information that is of interest to an end user. これは、より豊富な情報が格納されるため、単純なリスト項目よりも複雑になります。It is more complicated than the simple list item because it contains richer information.

以下の各セクションで、DataItem コントロール型に必要な UI オートメーションUI Automation ツリー構造、プロパティ、コントロール パターン、およびイベントを定義します。The following sections define the required UI オートメーションUI Automation tree structure, properties, control patterns, and events for the DataItem control type. UI オートメーションUI Automation の要件は、Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF)、Win32、Windows フォームWindows Formsにかかわらず、すべてのデータ項目コントロールに適用されます。The UI オートメーションUI Automation requirements apply to all data item controls, whether Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF), Win32, or Windows フォームWindows Forms.

必須の UI オートメーション ツリー構造Required UI Automation Tree Structure

次の表に、データ項目コントロールに関連する UI オートメーションUI Automation ツリーのコントロール ビューとコンテンツ ビューを示し、それぞれのビューに含めることができる内容について説明します。The following table depicts the control view and the content view of the UI オートメーションUI Automation tree that pertains to data item controls and describes what can be contained in each view. UI オートメーションUI Automation ツリーの詳細については、「 UI オートメーションツリーの概要」を参照してください。For more information about the UI オートメーションUI Automation tree, see UI Automation Tree Overview.

UI オートメーションUI Automation ツリー - コントロール ビューTree - Control View UI オートメーションUI Automation ツリー - コンテンツ ビューTree - Content View

-変動 (0 以上、階層で構造化可能)- Varies (0 or more; can be structured in hierarchy)

-変動 (0 以上、階層で構造化可能)- Varies (0 or more; can be structured in hierarchy)

データ グリッド内のデータ項目要素は、さまざまなオブジェクトをホストできます。たとえば、別のレイヤーのデータ項目や、テキスト、イメージ、エディット コントロールなどの特定のグリッド要素をホストできます。A data item element in a data grid can host a variety of objects, including another layer of data items, or specific grid elements such as text, images, or edit controls. データ項目要素に特定のオブジェクトの役割がある場合は、その要素を特定のコントロール型 (たとえば、グリッド内の選択可能なデータ項目の場合は ListItem コントロール型など) として公開する必要があります。If the data item element has a specific object role, the element should be exposed as a specific control type; for example, a ListItem control type for a selectable data item in the grid.

必須の UI オートメーション プロパティRequired UI Automation Properties

次の表に、データ項目コントロールに特に関連する値または定義を持つプロパティを示します。The following table lists the properties whose value or definition is especially relevant to data item controls. UI オートメーションUI Automationプロパティの詳細についてはクライアントの UI オートメーション プロパティをご覧ください。For more information about UI オートメーションUI Automation properties, see UI Automation Properties for Clients.

propertyProperty ValueValue メモNotes
AutomationIdProperty 「ノート」を参照してください。See notes. このプロパティの値は、アプリケーション内のすべてのコントロールで一意である必要があります。The value of this property needs to be unique across all controls in an application.
BoundingRectangleProperty 「ノート」を参照してください。See notes. コントロール全体を格納する最も外側の四角形。The outermost rectangle that contains the whole control.
ClickablePointProperty 「ノート」を参照してください。See notes. 四角形領域が存在する場合にサポートされます。Supported if there is a bounding rectangle. 四角形領域内にクリック不可能な点が存在し、特別なヒット テストを実行する場合は、オーバーライドしてクリック可能な点を提供します。If not every point within the bounding rectangle is clickable, and you perform specialized hit testing, then override and provide a clickable point.
ControlTypeProperty DataItemDataItem この値は、すべての UI フレームワークで同じです。This value is the same for all UI frameworks.
IsContentElementProperty TrueTrue データ項目コントロールは、常にコンテンツである必要があります。The data item control must always be content.
IsControlElementProperty TrueTrue データ項目コントロールは、常にコントロールである必要があります。The data item control must always be a control.
IsKeyboardFocusableProperty 「ノート」を参照してください。See notes. コントロールがキーボード フォーカスを受け取ることができる場合は、このプロパティをサポートする必要があります。If the control can receive keyboard focus, it must support this property.
ItemStatusProperty 「ノート」を参照してください。See notes. コントロールに動的に更新される状態が含まれる場合、要素の状態が変化したときに支援技術が更新を受け取ることができるように、このプロパティをサポートする必要があります。If the control contains status that is being updated dynamically then this property must be supported so that an assistive technology can receive updates when the status of the element changes.
ItemTypeProperty 「ノート」を参照してください。See notes. これは、項目が表す基になるオブジェクトをエンド ユーザーに伝達する文字列値です。This is the string value that conveys to the end user the underlying object that the item represents. 例として "メディア ファイル" や "連絡先" があります。Examples are "Media File" or "Contact".
LabeledByProperty Null データ項目コントロールに静的なテキスト ラベルはありません。Data item controls do not have a static text label.
LocalizedControlTypeProperty "data item""data item" DataItem コントロール型に対応するローカライズされた文字列。Localized string corresponding to the DataItem control type.
NameProperty 「ノート」を参照してください。See notes. データ項目コントロールには、主要なテキスト要素が常に含まれています。この要素は、その項目に対してユーザーが最も意味的な識別子として連想するものに関連しています。The data item control always contains a primary text element that relates to what the user would associate as the most semantic identifier for the item.

必須の UI オートメーション コントロール パターンRequired UI Automation Control Patterns

次の表に、すべてのデータ項目コントロールでサポートされなければならない Microsoft UI オートメーションMicrosoft UI Automation コントロール パターンを示します。The following table lists the Microsoft UI オートメーションMicrosoft UI Automation control patterns required to be supported by all data item controls. コントロール パターンについて詳しくは、「 UI Automation Control Patterns Overview」をご覧ください。For more information about control patterns, see UI Automation Control Patterns Overview.

コントロール パターンControl Pattern でのサポートSupport メモNotes
IExpandCollapseProvider 状況に依存Depends データ項目を展開したり折りたたんだりして、情報の表示/非表示を切り替える場合、Expand Collapse パターンをサポートする必要があります。If the data item can be expanded or collapsed to show and hide information, the Expand Collapse pattern must be supported.
IGridItemProvider 状況に依存Depends データ項目の集合が、空間的に項目間を移動できるコンテナー内にある場合、データ項目は Grid Item パターンをサポートします。Data items will support the Grid Item pattern when a collection of data items is available within a container that can be spatially navigated item-to-item.
IScrollItemProvider 状況に依存Depends 画面に収まる項目数を超える項目がデータ コンテナーにある場合、すべてのデータ項目は Scroll Item パターンを使用して、スクロールして表示する機能をサポートします。All data items support the ability to be scrolled into view with the Scroll Item pattern when their data container has more items than can fit on the screen.
ISelectionItemProvider Yes すべてのデータ項目は、項目が選択されたタイミングを示す Selection Item パターンをサポートする必要があります。All data items must support the Selection Item pattern to indicate when the item is selected.
ITableItemProvider 状況に依存Depends データ項目が Data Grid コントロール型の中に含まれている場合、このパターンをサポートします。If the data item is contained within a Data Grid control type then it will support this pattern.
IToggleProvider 状況に依存Depends データ項目に循環する状態が含まれる場合。If the data item contains a state that can be cycled through.
IValueProvider 状況に依存Depends データ項目の主要なテキストが編集可能な場合は、Value パターンをサポートする必要があります。If the data item's primary text is editable then the Value pattern must be supported.

大きなリストでのデータ項目の操作Working with Data Items in Large Lists

大きなリストでは、多くの場合、パフォーマンスを向上させるため、 UIUI フレームワーク内でデータが仮想化されます。Large lists are often data virtualized within UIUI frameworks to assist in performance. そのため、UI オートメーション クライアントは、 UI オートメーションUI Automation クエリ機能を使用して、他の項目コンテナーと同じように完全なツリーからコンテンツを取得することができません。Due to this, a UI Automation client cannot use the UI オートメーションUI Automation query feature to scrape the contents of the full tree in the same way that it can in other item containers. クライアントは、データ項目の完全に揃った情報にアクセスする前に、項目をスクロールして表示する (またはコントロールを展開して重要なすべてのオプションを表示する) 必要があります。A client should scroll the item into view (or expand the control to show all valuable options)prior to accessing the full set of information from the data item.

データ項目の UI オートメーションUI Automation 要素で SetFocus を呼び出すと、Microsoft Windows Explorer のケースが正常に返され、データ項目サブツリー内の編集にフォーカスが設定されます。When calling SetFocus on the UI オートメーションUI Automation element for the data item, the Microsoft Windows Explorer case will return successfully and cause focus to be set to the Edit within the data item subtree.

必須の UI オートメーション イベントRequired UI Automation Events

次の表に、すべてのデータ項目コントロールでサポートされなければならない UI オートメーションUI Automation イベントを示します。The following table lists the UI オートメーションUI Automation events required to be supported by all data item controls. イベントの詳細については、「 UI Automation Events Overview」を参照してください。For more information about events, see UI Automation Events Overview.

UI オートメーションUI Automation イベントEvent でのサポートSupport メモNotes
AutomationFocusChangedEvent 必須Required [なし]None
BoundingRectangleProperty プロパティ変更イベント。BoundingRectangleProperty property-changed event. 必須Required [なし]None
IsEnabledProperty プロパティ変更イベント。IsEnabledProperty property-changed event. 必須Required [なし]None
IsOffscreenProperty プロパティ変更イベント。IsOffscreenProperty property-changed event. 必須Required [なし]None
NameProperty プロパティ変更イベント。NameProperty property-changed event. 必須Required [なし]None
StructureChangedEvent 必須Required [なし]None
InvokedEvent 状況に依存Depends [なし]None
ExpandCollapseStateProperty プロパティ変更イベント。ExpandCollapseStateProperty property-changed event. 状況に依存Depends [なし]None
ElementAddedToSelectionEvent 必須Required [なし]None
ElementRemovedFromSelectionEvent 必須Required [なし]None
ElementSelectedEvent 必須Required [なし]None
ToggleStateProperty プロパティ変更イベント。ToggleStateProperty property-changed event. 状況に依存Depends [なし]None
ValueProperty プロパティ変更イベント。ValueProperty property-changed event. 状況に依存Depends [なし]None

DataItem コントロール型の例DataItem Control Type Example

次の図は、列の豊富な情報をサポートするリスト ビュー コントロール内の DataItem コントロール型を示しています。The following image illustrates a DataItem control type in a List View control with support for rich information for the columns.

2つのデータ項目を持つリストビューコントロールのグラフィックGraphic of a List View control with two data items

以下には、データ項目コントロールに関連する UI オートメーションUI Automation ツリーのコントロール ビューとコンテンツ ビューが表示されています。The Control View and the Content View of the UI オートメーションUI Automation tree that pertains to the data item control is displayed below. オートメーションの各要素のコントロール パターンが、かっこ内に示されています。The control patterns for each automation element are shown in parentheses. グループ "Contoso" は、データ グリッド ホスト コントロールのグリッドの一部でもあります。The Group "Contoso" is also part of the grid of the Data Grid host control.

UI オートメーションUI Automation ツリー - コントロール ビューTree - Control View UI オートメーションUI Automation ツリー - コンテンツ ビューTree - Content View
-グループ "Contoso" (テーブル、グリッド)- Group "Contoso" (Table, Grid)
-DataItem "Accounts. doc" (TableItem、GridItem、SelectionItem、Invoke)- DataItem "Accounts Receivable.doc" (TableItem, GridItem, SelectionItem, Invoke)
-Image "Accounts. doc"- Image "Accounts Receivable.doc"
-Edit "Name" (TableItem、GridItem、Value "Accounts. doc")- Edit "Name" (TableItem, GridItem, Value "Accounts Receivable.doc")
-Edit "Date modified" (TableItem, GridItem, Value "8/25/2006 3:29 PM")- Edit "Date modified" (TableItem, GridItem, Value "8/25/2006 3:29 PM")
-Edit "Size" (GridItem, TableItem, Value "11.0 KB)- Edit "Size" (GridItem, TableItem, Value "11.0 KB)
-DataItem "Accounts. doc" (TableItem、GridItem、SelectionItem、Invoke)- DataItem "Accounts Payable.doc" (TableItem, GridItem, SelectionItem, Invoke)
- ...- ...
-グループ "Contoso" (テーブル、グリッド)- Group "Contoso" (Table, Grid)
-DataItem "Accounts. doc" (TableItem、GridItem、SelectionItem、Invoke)- DataItem "Accounts Receivable.doc" (TableItem, GridItem, SelectionItem, Invoke)
-Image "Accounts. doc"- Image "Accounts Receivable.doc"
-Edit "Name" (TableItem、GridItem、Value "Accounts. doc")- Edit "Name" (TableItem, GridItem, Value "Accounts Receivable.doc")
-Edit "Date modified" (TableItem, GridItem, Value "8/25/2006 3:29 PM")- Edit "Date modified" (TableItem, GridItem, Value "8/25/2006 3:29 PM")
-Edit "Size" (GridItem, TableItem, Value "11.0 KB)- Edit "Size" (GridItem, TableItem, Value "11.0 KB)
-DataItem "Accounts. doc" (TableItem、GridItem、SelectionItem、Invoke)- DataItem "Accounts Payable.doc" (TableItem, GridItem, SelectionItem, Invoke)
- …- …

グリッドが選択可能な項目のリストを表している場合、DataItem コントロール型の代わりに、ListItem コントロール型で対応する UI 要素を公開できます。If a grid represents a list of selectable items, the corresponding UI elements can be exposed with the ListItem control type instead of the DataItem control type. 前の例では、グループ ("Contoso") の下の DataItem 要素 ("Accounts Receivable.doc" および "Accounts Payable.doc") を ListItem コントロール型として公開することで、その型が既に SelectionItem コントロール パターンをサポートしているため、それらの要素を向上させることができます。In the preceding example, the DataItem elements ("Accounts Receivable.doc" and "Accounts Payable.doc") under Group ("Contoso") can be improved by exposing them as ListItem control types because that type already supports the SelectionItem control pattern.

関連項目See also