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

Note

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

このトピックでは、Table コントロール型に対する UI オートメーションのサポートに関する情報を提供します。 UI オートメーションでのコントロール型とは、コントロールで ControlTypeProperty プロパティを使用するために満たす必要がある条件のセットのことです。 この条件には、UI オートメーション ツリーの構造、UI オートメーションのプロパティ値、コントロール パターンに関する特定のガイドラインが含まれます。

テーブル コントロールは、テキストの行と列、およびオプションで行ヘッダーと列ヘッダーを格納します。

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

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

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

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

- Header (0 または 1)
- Text (0 または 1)
- 各種コントロール (0 以上)
テーブル

- Text (0 以上)
- 各種コントロール (0 以上)

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

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

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

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

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

次の表に、Table コントロールでサポートされる必要がある UI オートメーション コントロールのパターンを示します。 コントロール パターンの詳細については、「 UI Automation Control Patterns Overview」を参照してください。

コントロール パターン サポート Notes
IGridProvider はい テーブルに格納される項目にはグリッドに表示されるデータが含まれるため、テーブル コントロールはこのコントロール パターンを常にサポートします。
IGridItemProvider はい (子オブジェクトでは必須) テーブルの内部オブジェクトは、GridItem と TableItem の両方のコントロール パターンをサポートする必要があります。 テーブル自体では、それが別のテーブルの一部である場合を除いて、GridItem コントロール パターンも TableItem コントロール パターンもサポートする必要がありません。
ITableProvider はい テーブル コントロールは、常に、ヘッダーとコンテンツを関連付けることができます。
ITableItemProvider はい (子オブジェクトでは必須) テーブルの内部オブジェクトは、GridItem と TableItem の両方のコントロール パターンをサポートする必要があります。 テーブル自体では、それが別のテーブルの一部である場合を除いて、GridItem コントロール パターンも TableItem コントロール パターンもサポートする必要がありません。

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

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

UI オートメーション イベント サポート Notes
BoundingRectangleProperty プロパティ変更イベント。 必須 なし
IsOffscreenProperty プロパティ変更イベント。 必須 なし
IsEnabledProperty プロパティ変更イベント。 必須 なし
AutomationFocusChangedEvent 必須 なし
StructureChangedEvent 必須 なし

関連項目