UI オートメーション プロパティの概要

メモメモ

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

UI オートメーション プロバイダーは、Microsoft UI Automation要素に関するプロパティを公開します。 これらのプロパティを使用することにより、UI オートメーション クライアント アプリケーションは、user interface (UI)、特に静的データと動的データの両方を含むコントロールについて、情報を取得できます。

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

  • プロパティ識別子
  • カテゴリ別のプロパティ
  • ローカリゼーション
  • プロパティおよびイベント
  • 関連トピック

ここでは、Microsoft UI Automation プロパティについての広範な概要を示します。 詳細については、以下のトピックで説明します。

プロパティ識別子

すべてのプロパティは、番号と名前で識別されます。 プロパティの名前は、デバッグと診断にのみ使用されます。 プロバイダーは、受信するプロパティ要求を識別するために、数値の IDs を使用します。 一方、クライアント アプリケーションは、取得するプロパティを識別するために、番号と名前をカプセル化する AutomationProperty のみを使用します。

さまざまなクラスで、特定のプロパティを表す AutomationProperty オブジェクトがフィールドとして用意されています。 セキュリティ上の理由から、UI オートメーション プロバイダーはこれらのオブジェクトを、Uiautomationtypes.dll に格納されている別の一連のクラスから取得します。

AutomationProperty IDs を含むプロパティをクラス別に分類して次の表に示します。

プロパティの種類

クライアントの ID の取得元

プロバイダーの ID の取得元

すべての要素に共通のプロパティ (以下の表を参照)

AutomationElement

AutomationElementIdentifiers

ドッキング ウィンドウの位置

DockPattern

DockPatternIdentifiers

展開および折りたたむことができる要素の状態

ExpandCollapsePattern

ExpandCollapsePatternIdentifiers

グリッド内の項目のプロパティ

GridItemPattern

GridItemPatternIdentifiers

グリッドのプロパティ

GridPattern

GridPatternIdentifiers

複数のビューがある要素の、現在のビューとサポートされるビュー

MultipleViewPattern

MultipleViewPatternIdentifiers

スライダーなど、一定範囲の値の中を移動する要素のプロパティ

RangeValuePattern

RangeValuePatternIdentifiers

スクロール ウィンドウのプロパティ

ScrollPattern

ScrollPatternIdentifiers

リスト内の項目のように、選択可能な項目のステータスとコンテナー

SelectionItemPattern

SelectionItemPatternIdentifiers

選択項目を含むコントロールのプロパティ

SelectionPattern

SelectionPatternIdentifiers

テーブル内の項目の列ヘッダーと行ヘッダー

TableItemPattern

TableItemPatternIdentifiers

テーブルの列ヘッダーと行ヘッダー、および向き

TablePattern

TablePatternIdentifiers

トグル コントロールの状態

TogglePattern

TogglePatternIdentifiers

移動、回転、またはサイズ変更可能な要素の機能

TransformPattern

TransformPatternIdentifiers

値を持つ要素の値と読み取り/書き込み機能

ValuePattern

ValuePatternIdentifiers

ウィンドウの機能と状態

WindowPattern

WindowPatternIdentifiers

カテゴリ別のプロパティ

IDs が AutomationElement および AutomationElementIdentifiers に存在するプロパティをカテゴリ別に分類して次の表に示します。 これらのプロパティは、すべてのコントロールに共通します。 一部を除くすべてのプロパティは、プロバイダー アプリケーションの有効期間中は静的であると考えられます。ほとんどの動的プロパティは、コントロール パターンに関連しています。

プロパティ アクセスの列には、GetCurrentPropertyValueGetCachedPropertyValue に加えて、各プロパティのその他のアクセサーを示します。 クライアント アプリケーションでのプロパティの取得の詳細については、「クライアントの UI オートメーション プロパティ」を参照してください。

メモメモ

各プロパティの固有の情報については、プロパティ アクセス列内のリンクをたどってください。

表示特性

プロパティ ID

プロパティ アクセス

BoundingRectangleProperty

BoundingRectangle

CultureProperty

適用なし

HelpTextProperty

HelpText

IsOffscreenProperty

IsOffscreen

OrientationProperty

Orientation

要素の型

プロパティ ID

プロパティ アクセス

ControlTypeProperty

ControlType

IsContentElementProperty

IsContentElement

IsControlElementProperty

IsControlElement

ItemTypeProperty

ItemType

LocalizedControlTypeProperty

LocalizedControlType

識別

プロパティ ID

プロパティ アクセス

AutomationIdProperty

AutomationId

ClassNameProperty

ClassName

FrameworkIdProperty

FrameworkId

LabeledByProperty

LabeledBy

NameProperty

Name

ProcessIdProperty

ProcessId

RuntimeIdProperty

GetRuntimeId

NativeWindowHandleProperty

NativeWindowHandle

相互作用

プロパティ ID

プロパティ アクセス

AcceleratorKeyProperty

AcceleratorKey

AccessKeyProperty

AccessKey

ClickablePointProperty

GetClickablePoint

HasKeyboardFocusProperty

HasKeyboardFocus

IsEnabledProperty

IsEnabled

IsKeyboardFocusableProperty

IsKeyboardFocusable

パターンのサポート

プロパティ ID

プロパティ アクセス

IsDockPatternAvailableProperty

GetSupportedPatterns

IsExpandCollapsePatternAvailableProperty

GetSupportedPatterns

IsGridItemPatternAvailableProperty

GetSupportedPatterns

IsGridPatternAvailableProperty

GetSupportedPatterns

IsInvokePatternAvailableProperty

GetSupportedPatterns

IsMultipleViewPatternAvailableProperty

GetSupportedPatterns

IsRangeValuePatternAvailableProperty

GetSupportedPatterns

IsScrollItemPatternAvailableProperty

GetSupportedPatterns

IsScrollPatternAvailableProperty

GetSupportedPatterns

IsSelectionItemPatternAvailableProperty

GetSupportedPatterns

IsSelectionPatternAvailableProperty

GetSupportedPatterns

IsTableItemPatternAvailableProperty

GetSupportedPatterns

IsTablePatternAvailableProperty

GetSupportedPatterns

IsTextPatternAvailableProperty

GetSupportedPatterns

IsTogglePatternAvailableProperty

GetSupportedPatterns

IsTransformPatternAvailableProperty

GetSupportedPatterns

IsValuePatternAvailableProperty

GetSupportedPatterns

IsWindowPatternAvailableProperty

GetSupportedPatterns

その他

プロパティ ID

プロパティ アクセス

IsRequiredForFormProperty

IsRequiredForForm

IsPasswordProperty

IsPassword

ItemStatusProperty

ItemStatus

ローカリゼーション

UI Automation プロバイダーは、次のプロパティをオペレーティング システムの言語で提供する必要があります。

プロパティおよびイベント

UI Automationのプロパティには、プロパティ変更イベントの概念が密接に関連しています。 動的プロパティの場合、クライアント アプリケーションには、プロパティ値が変更されたことを知る手段が必要です。それにより、その情報のキャッシュを更新するなど、何らかの方法で新しい情報に反応することができます。

プロバイダーは、UI 内で何かが変更されると、イベントを発生させます。 たとえば、チェック ボックスがオンまたはオフになると、プロバイダーのトグル パターンの実装によってプロパティ変更イベントが発生します。 プロバイダーは、クライアントがイベントをリッスンしているか、または特定のイベントをリッスンしているかに応じて、選択的にイベントを発生させることができます。

すべてのプロパティの変更がイベントを発生させるとは限りません。これは、完全に要素の UI オートメーション プロバイダーの実装に依存します。 たとえば、リスト ボックスの標準のプロキシ プロバイダーは、SelectionProperty が変更されても、イベントを発生させません。 この場合、アプリケーションは ElementSelectedEvent をリッスンする必要があります。

クライアントは、イベントをサブスクライブすることでイベントをリッスンします。 イベントをサブスクライブすることは、イベントを処理できるデリゲート メソッドを作成し、それらのメソッド内で処理する特定のイベントと共に、それらのメソッドを UI Automationに渡すことを意味します。 特に、プロパティ変更イベントの場合、クライアントは、AutomationPropertyChangedEventHandler を実装する必要があります。

参照

処理手順

プロパティ条件に基づく UI オートメーション要素の検索

UI オートメーション プロバイダーからのプロパティの返却

UI オートメーション プロバイダーからのイベントの発生

概念

UI オートメーション クライアントにおけるキャッシュ

クライアントの UI オートメーション プロパティ

サーバー側 UI オートメーション プロバイダーの実装