次の方法で共有


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

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

このトピックでは、テーブル コントロール型に対する UI オートメーションのサポートについて説明します。 UI オートメーションでは、コントロール型は、 ControlTypeProperty プロパティを使用するためにコントロールが満たす必要がある一連の条件です。 条件には、UI オートメーション ツリー構造、UI オートメーション プロパティ値、およびコントロール パターンに関する特定のガイドラインが含まれます。

テーブル コントロールには、テキストの行と列、および必要に応じて行ヘッダーと列ヘッダーが含まれます。

次のセクションでは、Table コントロール型に必要な UI オートメーション ツリー構造、プロパティ、コントロール パターン、およびイベントを定義します。 UI オートメーションの要件は、Windows Presentation Foundation (WPF)、Win32、Windows フォームのいずれであっても、すべてのテーブル コントロールに適用されます。

必要な UI オートメーション ツリー構造

次の表は、テーブル コントロールに関連する UI オートメーション ツリーのコントロール ビューとコンテンツ ビューを示し、各ビューに含めることができる内容を示しています。 UI オートメーション ツリーの詳細については、「 UI オートメーション ツリーの概要」を参照してください。

コントロール ビュー コンテンツ ビュー


- ヘッダー (0 または 1)
- テキスト (0 または 1)
- さまざまなコントロール (0 以上)


- テキスト (0 以上)
- さまざまなコントロール (0 以上)

テーブル コントロールに行ヘッダーまたは列ヘッダーがある場合は、UI オートメーション ツリーのコントロール ビューで公開する必要があります。 コンテンツ ビューは TablePattern を使用してアクセスできるため、この情報を公開する必要はありません。

必要な UI オートメーション プロパティ

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

UI オートメーション プロパティ 価値 注記
AutomationIdProperty 「ノート」を参照してください。 このプロパティの値は、アプリケーション内のすべてのコントロールで一意である必要があります。
BoundingRectangleProperty 「ノート」を参照してください。 コントロール全体を格納する最も外側の四角形。
ClickablePointProperty 「ノート」を参照してください。 外接する四角形がある場合にサポートされます。 外接する四角形内のポイントのすべてがクリック可能でない場合、かつ特殊なヒットテストを行うのであれば、オーバーライドしてクリック可能なポイントを指定してください。
IsKeyboardFocusableProperty 「ノート」を参照してください。 コントロールがキーボード フォーカスを受け取ることができる場合は、このプロパティをサポートする必要があります。
NameProperty 「ノート」を参照してください。 通常、テーブル コントロールは静的なテキスト ラベルから名前を取得します。 静的なテキスト ラベルがない場合は、テーブルの目的を説明するために常に使用できる Name プロパティを割り当てる必要があります。
LabeledByProperty 「ノート」を参照してください。 静的なテキスト ラベルがある場合、このプロパティはコントロールのオートメーション要素への参照を公開する必要があります。
ControlTypeProperty この値は、すべての UI フレームワークで同じです。
LocalizedControlTypeProperty "table" Table コントロール型に対応するローカライズされた文字列。
HelpTextProperty 「ノート」を参照してください。 NameProperty にアクセスして十分に説明できない場合は、このプロパティを使用してテーブルの目的の詳細を公開する必要があります。
IsContentElementProperty 正しい テーブル コントロールは常にコンテンツである必要があります。
IsControlElementProperty 正しい テーブル コントロールは常にコントロールである必要があります。

必要な UI オートメーション コントロール パターン

次の表に、テーブル コントロールでサポートするために必要な UI オートメーション コントロール パターンの一覧を示します。 コントロール パターンの詳細については、「UI オートメーション コントロール パターンの概要」を参照してください。

コントロール パターン 支援 注記
IGridProvider イエス テーブル コントロールは常にこのコントロール パターンをサポートします。含まれる項目にはグリッドに表示されるデータがあるためです。
IGridItemProvider はい (子オブジェクトでは必須) テーブルの内部オブジェクトは、GridItem コントロール パターンと TableItem コントロール パターンの両方をサポートする必要があります。 テーブル自体は、テーブルが別のテーブルの一部でない限り、GridItem または TableItem コントロール パターンをサポートする必要はありません。
ITableProvider イエス テーブル コントロールには、常にコンテンツに関連付けられたヘッダーを持つ機能があります。
ITableItemProvider はい (子オブジェクトでは必須) テーブルの内部オブジェクトは、GridItem コントロール パターンと TableItem コントロール パターンの両方をサポートする必要があります。 テーブル自体は、テーブルが別のテーブルの一部でない限り、GridItem または TableItem コントロール パターンをサポートする必要はありません。

必要な UI オートメーション イベント

次の表に、すべてのテーブル コントロールでサポートされる必要がある UI オートメーション イベントを示します。 イベントの詳細については、「UI オートメーション イベントの概要」を参照してください。

UI オートメーション イベント 支援 注記
BoundingRectangleProperty プロパティ変更イベント。 必須 無し
IsOffscreenProperty プロパティ変更イベント。 必須 無し
IsEnabledProperty プロパティ変更イベント。 必須 無し
AutomationFocusChangedEvent 必須 無し
StructureChangedEvent 必須 無し

こちらも参照ください