UI オートメーションによる DataItem コントロール型のサポート

メモメモ

このドキュメントは、System.Windows.Automation 名前空間で定義されているマネージ UI Automation クラスを使用する .NET Framework 開発者を対象としています。UI Automationに関する最新情報については、「Windows Automation API: UI Automation (Windows オートメーション API: UI オートメーション)」を参照してください。

ここでは、Microsoft UI Automationによる DataItem コントロール型のサポートに関する情報を示します。 UI Automationでは、コントロール型は、ControlTypeProperty プロパティを使用するためにコントロールで満たす必要がある一連の条件となります。 これらの条件には、UI Automation ツリー構造、UI Automationのプロパティ値、およびコントロール パターンに関する特定のガイドラインが含まれます。

連絡先リスト内のエントリは、データ項目コントロールの一例です。 データ項目コントロールには、エンド ユーザーに役立つ情報が含まれます。 豊富な情報を含むため、単純なリスト項目より複雑です。

以下のセクションでは、DataItem コントロール型に必要な UI Automation ツリー構造、プロパティ、コントロール パターン、およびイベントを定義します。 UI Automationの各要件は、Windows Presentation Foundation (WPF)、Win32、Windows Formsのいずれの場合でも、すべてのデータ項目コントロールに当てはまります。

このトピックは、次のセクションで構成されています。

  • 必須の UI オートメーション ツリー構造
  • 必須の UI オートメーション プロパティ
  • 必須の UI オートメーション コントロール パターン
  • 大きなリストのデータ項目の操作
  • 必須の UI オートメーション イベント
  • DataItem コントロール型の例
  • 関連トピック

必須の UI オートメーション ツリー構造

次の表では、データ項目コントロールに関連する UI Automation ツリーのコントロール ビューとコンテンツ ビューを示し、各ビューに格納できるものについて説明します。 UI Automation ツリーの詳細については、「UI オートメーション ツリーの概要」を参照してください。

UI Automation ツリー - コントロール ビュー

UI Automation ツリー - コンテンツ ビュー

DataItem

  • 多様 (0 以上。階層構造になり得る)

DataItem

  • 多様 (0 以上。階層構造になり得る)

データ グリッド内のデータ項目要素は、データ項目の別の層、特定のグリッド要素 (テキスト、イメージ、エディット コントロールなど) を含む、さまざまなオブジェクトをホストできます。 データ項目要素に特定のオブジェクト ロールがある場合、要素を特定のコントロール型として公開する必要があります。たとえば、グリッド内の選択可能なデータ項目の場合は ListItem コントロール型などです。

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

次の表に、値または定義が特にデータ項目コントロールに関連するプロパティを示します。 UI Automation プロパティの詳細については、「クライアントの UI オートメーション プロパティ」を参照してください。

プロパティ

説明

AutomationIdProperty

説明を参照。

このプロパティの値は、アプリケーションのすべてのコントロールで一意にする必要があります。

BoundingRectangleProperty

説明を参照。

コントロール全体を包含する外側の四角形。

ClickablePointProperty

説明を参照。

外接する四角形が存在する場合はサポートされます。 外接する四角形の範囲内にクリック不可能な点が存在するときに特別なヒット テストを実行する場合は、クリック可能な点をオーバーライドして提供します。

ControlTypeProperty

DataItem

この値は、すべての UI フレームワークで共通です。

IsContentElementProperty

True

データ項目コントロールは、常にコンテンツである必要があります。

IsControlElementProperty

True

データ項目コントロールは、常にコントロールである必要があります。

IsKeyboardFocusableProperty

説明を参照。

コントロールがキーボード フォーカスを受け取ることができる場合は、このプロパティをサポートする必要があります。

ItemStatusProperty

説明を参照。

動的に更新されているステータスがコントロールに含まれている場合、要素のステータスが変更されたときに支援テクノロジが更新を受信できるようにこのプロパティをサポートする必要があります。

ItemTypeProperty

説明を参照。

これは、項目が表す基になるオブジェクトをエンド ユーザーに伝える文字列値です。 たとえば、"メディア ファイル" や "連絡先" などがあります。

LabeledByProperty

Null

データ項目コントロールには静的なテキスト ラベルはありません。

LocalizedControlTypeProperty

"データ項目"

DataItem コントロール型に対応するローカライズされた文字列。

NameProperty

説明を参照。

データ項目コントロールには、その項目に対してユーザーが最も意味的な識別子として連想する主要なテキスト要素が常に含まれています。

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

すべてのデータ項目コントロールでサポートする必要がある Microsoft UI Automation コントロール パターンの一覧を次の表に示します。 コントロール パターンの詳細については、「UI オートメーション コントロール パターンの概要」を参照してください。

コントロール パターン

サポート

説明

IExpandCollapseProvider

依存

情報を表示または非表示にするためにデータ項目の展開または折りたたみを行うことができる場合は、展開/折りたたみパターンをサポートする必要があります。

IGridItemProvider

依存

項目間を空間的に移動できるコンテナー内でデータ項目のコレクションが使用できる場合、データ項目はグリッド項目パターンをサポートします。

IScrollItemProvider

依存

画面に収めることができる項目数を超える項目がデータ コンテナーにある場合、すべてのデータ項目は、スクロール項目パターンを使用して、スクロールして表示する機能をサポートします。

ISelectionItemProvider

すべてのデータ項目は、項目が選択されたタイミングを示す選択項目パターンをサポートする必要があります。

ITableItemProvider

依存

データ項目がデータ グリッド コントロール型に含まれる場合、そのデータ項目はこのパターンをサポートします。

IToggleProvider

依存

データ項目に切り替えることができる状態が含まれる場合。

IValueProvider

依存

データ項目の主要なテキストが編集できる場合、値パターンをサポートする必要があります。

大きなリストのデータ項目の操作

大きなリストとは、多くの場合、パフォーマンスを向上させるために UI フレームワーク内で仮想化されたデータです。 このため、UI オートメーション クライアントは、UI Automationのクエリ機能を使用しても、他の項目コンテナーと同じように完全なツリーのコンテンツを照会することはできません。 クライアントは、データ項目から情報の完全なセットにアクセスする前に、項目をスクロールして表示する (またはコントロールを展開して重要なオプションをすべて表示する) 必要があります。

データ項目の UI Automation要素で SetFocus を呼び出すとき、Microsoft Windows Explorerの場合は正常に値を返し、データ項目サブツリー内でフォーカスを編集に設定します。

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

次の表は、すべてのデータ項目コントロールでサポートする必要のある UI Automation イベントの一覧です。 イベントの詳細については、「UI オートメーション イベントの概要」を参照してください。

UI Automation イベント

サポート

説明

AutomationFocusChangedEvent

必須

なし

BoundingRectangleProperty プロパティ変更イベント

必須

なし

IsEnabledProperty プロパティ変更イベント

必須

なし

IsOffscreenProperty プロパティ変更イベント

必須

なし

NameProperty プロパティ変更イベント

必須

なし

StructureChangedEvent

必須

なし

InvokedEvent

依存

なし

ExpandCollapseStateProperty プロパティ変更イベント

依存

なし

ElementAddedToSelectionEvent

必須

なし

ElementRemovedFromSelectionEvent

必須

なし

ElementSelectedEvent

必須

なし

ToggleStateProperty プロパティ変更イベント

依存

なし

ValueProperty プロパティ変更イベント

依存

なし

DataItem コントロール型の例

次の図は、列のさまざまな情報をサポートするリスト ビュー コントロール内の DataItem コントロール型を示しています。

2 つのデータ項目を含むリスト ビュー コントロールのグラフィック

以下に、データ項目コントロールに関連する UI Automation ツリーのコントロール ビューとコンテンツ ビューを示します。 各オートメーション要素のコントロール パターンをかっこで囲んで示します。Group "Contoso" は、データ グリッド ホスト コントロールのグリッドの一部でもあります。

UI Automation ツリー - コントロール ビュー

UI Automation ツリー - コンテンツ ビュー

  • Group "Contoso" (Table, Grid)

  • DataItem "Accounts Receivable.doc" (TableItem, GridItem, SelectionItem, Invoke)

  • Image "Accounts Receivable.doc"

  • Edit "Name" (TableItem, GridItem, Value "Accounts Receivable.doc")

  • Edit "Date modified" (TableItem, GridItem, Value "8/25/2006 3:29 PM")

  • Edit "Size" (GridItem, TableItem, Value "11.0 KB)

  • DataItem "Accounts Payable.doc" (TableItem, GridItem, SelectionItem, Invoke)

  • ...

  • Group "Contoso" (Table, Grid)

  • DataItem "Accounts Receivable.doc" (TableItem, GridItem, SelectionItem, Invoke)

  • Image "Accounts Receivable.doc"

  • Edit "Name" (TableItem, GridItem, Value "Accounts Receivable.doc")

  • Edit "Date modified" (TableItem, GridItem, Value "8/25/2006 3:29 PM")

  • Edit "Size" (GridItem, TableItem, Value "11.0 KB)

  • DataItem "Accounts Payable.doc" (TableItem, GridItem, SelectionItem, Invoke)

グリッドが選択可能な項目の一覧を表す場合、対応する UI 要素は、DataItem コントロール型ではなく ListItem コントロール型で公開できます。 前の例では、Group ("Contoso") の下の DataItem 要素 ("Accounts Receivable.doc" および "Accounts Payable.doc") は、ListItem コントロール型として公開することで向上します。これは、ListItem コントロール型が SelectionItem コントロール パターンを既にサポートしているためです。

参照

参照

DataItem

概念

UI オートメーション コントロール型の概要

UI オートメーションの概要