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

Note

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

カテゴリ別プロパティ

次の表に、AutomationElement および AutomationElementIdentifiers に ID があるプロパティを分類します。 これらのプロパティは、すべてのコントロールに共通です。 一部の例外を除き、ほとんどのプロパティがプロバイダー アプリケーションの有効期間にわたって静的です。動的プロパティのほとんどは、コントロール パターンに関連付けられています。

「プロパティ アクセス」 列には、 GetCurrentPropertyValueGetCachedPropertyValueだけでなく、各プロパティのすべてのアクセサーを示しています。 クライアント アプリケーションでプロパティを取得する方法の詳細については、「 UI Automation Properties for Clients」を参照してください。

Note

各プロパティの詳細については、 「プロパティ アクセス」 列のリンク先を参照してください。

表示特性

プロパティの識別子 「プロパティ アクセス」
BoundingRectangleProperty BoundingRectangle
CultureProperty N/A
HelpTextProperty HelpText
IsOffscreenProperty IsOffscreen
OrientationProperty Orientation

要素型

プロパティの識別子 「プロパティ アクセス」
ControlTypeProperty ControlType
IsContentElementProperty IsContentElement
IsControlElementProperty IsControlElement
ItemTypeProperty ItemType
LocalizedControlTypeProperty LocalizedControlType

識別

プロパティの識別子 「プロパティ アクセス」
AutomationIdProperty AutomationId
ClassNameProperty ClassName
FrameworkIdProperty FrameworkId
LabeledByProperty LabeledBy
NameProperty Name
ProcessIdProperty ProcessId
RuntimeIdProperty GetRuntimeId
NativeWindowHandleProperty NativeWindowHandle

相互作用

プロパティの識別子 「プロパティ アクセス」
AcceleratorKeyProperty AcceleratorKey
AccessKeyProperty AccessKey
ClickablePointProperty GetClickablePoint
HasKeyboardFocusProperty HasKeyboardFocus
IsEnabledProperty IsEnabled
IsKeyboardFocusableProperty IsKeyboardFocusable

パターンのサポート

プロパティの識別子 「プロパティ アクセス」
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

その他

プロパティの識別子 「プロパティ アクセス」
IsRequiredForFormProperty IsRequiredForForm
IsPasswordProperty IsPassword
ItemStatusProperty ItemStatus

ローカライズ

UI オートメーション プロバイダーは、以下のプロパティをオペレーティング システムの言語で提示する必要があります。

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

プロパティ変更イベントの概念は、UI オートメーションのプロパティと密接に関連しています。 動的プロパティの場合は、プロパティの値が変更されたときにキャッシュの情報を更新したり新しい情報に何らかの形で対応したりできるように、クライアント アプリケーションは、プロパティの値が変更されたことを認識できなければなりません。

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

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

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

関連項目