Share via


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

メモメモ

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

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

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

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

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

  • 必須の UI オートメーション ツリー構造
  • 必須の UI オートメーション プロパティ
  • 必須の UI オートメーション コントロール パターン
  • 必須の UI オートメーション イベント
  • 関連トピック

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

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

コントロール ビュー

コンテンツ ビュー

テーブル

  • Header (0 または 1)

  • Text (0 または 1)

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

テーブル

  • Text (0 以上)

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

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

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

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

UI Automation プロパティ

説明

AutomationIdProperty

説明を参照。

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

BoundingRectangleProperty

説明を参照。

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

ClickablePointProperty

説明を参照。

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

IsKeyboardFocusableProperty

説明を参照。

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

NameProperty

メモを参照。

通常、テーブル コントロールは、静的テキスト ラベルからその名前を取得します。 静的テキスト ラベルが存在しない場合は、Name プロパティを割り当てる必要があります。このプロパティは、テーブルの目的を説明するために常に利用できる必要があります。

LabeledByProperty

説明を参照。

静的テキスト ラベルが存在する場合、このプロパティは、そのコントロールのオートメーション要素への参照を公開する必要があります。

ControlTypeProperty

テーブル

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

LocalizedControlTypeProperty

"テーブル"

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

HelpTextProperty

説明を参照。

テーブルの目的が NameProperty にアクセスするだけでは十分に説明されない場合は、このプロパティを使用してさらに詳細な目的を公開する必要があります。

DescribedByProperty()

説明を参照。

他の UI 要素 (テーブルの説明を保持するテキスト要素など) によってテーブルに注釈が指定されている場合、DescribedBy プロパティは、そのテキスト コントロールのオートメーション要素への参照を公開する必要があります。

IsContentElementProperty

True

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

IsControlElementProperty

True

テーブル コントロールは、常にコントロールである必要があります。

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

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

コントロール パターン

サポート

説明

IGridProvider

テーブルが格納する項目にはグリッドで表示されるデータがあるので、テーブル コントロールはこのコントロール パターンを常にサポートします。

IGridItemProvider

○ (子オブジェクトでは必須)

テーブルの内部オブジェクトは、GridItem と TableItem の両方のコントロール パターンをサポートする必要があります。 テーブル自体は、テーブルが別のテーブルの一部である場合を除き、GridItem コントロール パターンも TableItem コントロール パターンもサポートする必要はありません。

ITableProvider

テーブル コントロールは、常に、ヘッダーとコンテンツを関連付けることができます。

ITableItemProvider

○ (子オブジェクトでは必須)

テーブルの内部オブジェクトは、GridItem と TableItem の両方のコントロール パターンをサポートする必要があります。 テーブル自体は、テーブルが別のテーブルの一部である場合を除き、GridItem コントロール パターンも TableItem コントロール パターンもサポートする必要はありません。

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

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

UI Automation イベント

サポート

説明

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

必須

なし

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

必須

なし

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

必須

なし

AutomationFocusChangedEvent

必須

なし

StructureChangedEvent

必須

なし

参照

参照

Table

概念

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

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