次の方法で共有


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

このドキュメントは、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

カテゴリ別プロパティ

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

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

各プロパティに関する具体的な情報については、[プロパティ アクセス ] 列のリンクに従ってください。

表示特性

プロパティ識別子 「プロパティ アクセス」
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を実装する必要があります。

こちらも参照ください