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

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

このトピックには次のセクションが含まれています。

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

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

プロパティ識別子

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

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

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

プロパティの種類 クライアントの 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

カテゴリ別のプロパティ

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

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

メモメモ :

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

表示特性

プロパティ ID プロパティ アクセス

BoundingRectangleProperty

BoundingRectangle

CultureProperty

n/a

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

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

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

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

参照

処理手順

プロパティ条件に基づく UI オートメーション要素の検索
UI オートメーション プロバイダからのプロパティの返却
UI オートメーション プロバイダからのイベントの発生

概念

UI オートメーション クライアントにおけるキャッシュ
クライアントの UI オートメーション プロパティ
サーバー側 UI オートメーション プロバイダの実装