UI オートメーション Grid コントロール パターンの実装

メモメモ

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

ここでは、プロパティ、メソッド、イベントに関する情報など、IGridProvider を実装するガイドラインと規則について説明します。 追加参照へのリンクは概要の最後に示します。

GridPattern コントロール パターンは、子要素のコレクションのコンテナーとして機能するコントロールをサポートするために使用します。 この要素の子には IGridItemProvider を実装する必要があります。また、この要素の子は行と列のそれぞれで処理可能な 2 次元の論理座標システムで構成しなければなりません。 このコントロール パターンを実装するコントロールの例については、「UI オートメーション クライアントのコントロール パターン マッピング」を参照してください。

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

  • 実装のガイドラインと規則
  • IGridProvider の必須メンバー
  • 例外
  • 関連トピック

実装のガイドラインと規則

Grid コントロール パターンを実装する場合は、次のガイドラインと規則に注意してください。

  • グリッド座標は 0 から始まり、左上 (ロケールによっては右上) のセルの座標が (0,0) になります。

  • セルが空の場合でも、そのセルの ContainingGrid プロパティをサポートするために、UI オートメーション要素を返す必要があります。 これが可能なのは、グリッド内の子要素のレイアウトが不調和配列に似ている場合です (次の例を参照)。

空の座標を持つグリッド コントロールの例

不規則なレイアウトを示す Windows エクスプローラー ビュー。

  • 項目が 1 つのグリッドでも、論理的にグリッドであると見なされる場合は、IGridProvider を実装する必要があります。 グリッド内の子項目の数は問題ではありません。

  • プロバイダーの実装によっては、非表示の行および列は UI Automation ツリーに読み込まれ、RowCount プロパティおよび ColumnCount プロパティに反映されます。 読み込まれていない場合は、非表示の行および列はカウントされません。

  • IGridProvider はグリッドのアクティブな操作を有効にしないため、ITransformProvider を実装してこの機能を有効にする必要があります。

  • StructureChangedEventHandler を使用すると、追加、削除、またはマージされたセルなど、グリッドの構造またはレイアウトの変更をリッスンできます。

  • AutomationFocusChangedEventHandler を使用すると、グリッドの項目またはセルの反復処理を追跡できます。

IGridProvider の必須メンバー

IGridProvider インターフェイスの実装時には、次のプロパティとメソッドが必要です。

必須メンバー

説明

RowCount

プロパティ

なし

ColumnCount

プロパティ

なし

GetItem

メソッド

なし

このコントロール パターンに関連付けられたイベントはありません。

例外

プロバイダーは次の例外をスローする必要があります。

例外の種類

状態

ArgumentOutOfRangeException

GetItem

  • 要求された行座標が RowCount より大きい、または列座標が ColumnCount より大きい。

ArgumentOutOfRangeException

GetItem

  • 要求された行座標または列座標が 0 未満である。

参照

処理手順

UI オートメーション プロバイダーでのコントロール パターンのサポート

UI オートメーションにおけるキャッシュの使用

概念

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

クライアントの UI オートメーション コントロール パターン

UI オートメーション GridItem コントロール パターンの実装

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