UI オートメーション プロパティの概要
更新 : 2007 年 11 月
UI オートメーション プロバイダは、Microsoft UI オートメーション要素に関するプロパティを公開します。これらのプロパティを使用することにより、UI オートメーション クライアント アプリケーションは、ユーザー インターフェイス (UI)、特に静的データと動的データの両方を含むコントロールについて、情報を取得できます。
このトピックには次のセクションが含まれています。
- プロパティ識別子
- カテゴリ別のプロパティ
- ローカリゼーション
- プロパティおよびイベント
- 関連トピック
ここでは、Microsoft UI オートメーション プロパティについての広範な概要を示します。詳細については、以下のトピックで説明します。
プロパティ識別子
すべてのプロパティは、番号と名前で識別されます。プロパティの名前は、デバッグと診断にのみ使用されます。プロバイダは、受信するプロパティ要求を識別するために、数値の ID を使用します。一方、クライアント アプリケーションは、取得するプロパティを識別するために、番号と名前をカプセル化する AutomationProperty のみを使用します。
さまざまなクラスで、特定のプロパティを表す AutomationProperty オブジェクトがフィールドとして用意されています。セキュリティ上の理由から、UI オートメーション プロバイダはこれらのオブジェクトを、Uiautomationtypes.dll に格納されている別の一連のクラスから取得します。
AutomationPropertyID を含むプロパティをクラス別に分類して次の表に示します。
プロパティの種類 |
クライアントの ID の取得元 |
プロバイダの ID の取得元 |
---|---|---|
すべての要素に共通のプロパティ (以下の表を参照) |
||
ドッキング ウィンドウの位置 |
||
展開および折りたたむことができる要素の状態 |
||
グリッド内の項目のプロパティ |
||
グリッドのプロパティ |
||
複数のビューがある要素の、現在のビューとサポートされるビュー |
||
スライダなど、一定範囲の値の中を移動する要素のプロパティ |
||
スクロール ウィンドウのプロパティ |
||
リスト内の項目のように、選択可能な項目のステータスとコンテナ |
||
選択項目を含むコントロールのプロパティ |
||
テーブル内の項目の列ヘッダーと行ヘッダー |
||
テーブルの列ヘッダーと行ヘッダー、および向き |
||
トグル コントロールの状態 |
||
移動、回転、またはサイズ変更可能な要素の機能 |
||
値を持つ要素の値と読み取り/書き込み機能 |
||
ウィンドウの機能と状態 |
カテゴリ別のプロパティ
ID が AutomationElement および AutomationElementIdentifiers に存在するプロパティをカテゴリ別に分類して次の表に示します。これらのプロパティは、すべてのコントロールに共通します。一部を除くすべてのプロパティは、プロバイダ アプリケーションの有効期間中は静的であると考えられます。ほとんどの動的プロパティは、コントロール パターンに関連しています。
プロパティ アクセスの列には、GetCurrentPropertyValue と GetCachedPropertyValue に加えて、各プロパティのその他のアクセサを示します。クライアント アプリケーションでのプロパティの取得の詳細については、「クライアントの UI オートメーション プロパティ」を参照してください。
メモ : |
---|
各プロパティの固有の情報については、プロパティ アクセス列内のリンクをたどってください。 |
表示特性
プロパティ ID |
プロパティ アクセス |
---|---|
n/a |
|
要素の型
プロパティ ID |
プロパティ アクセス |
---|---|
識別
プロパティ ID |
プロパティ アクセス |
---|---|
相互作用
プロパティ ID |
プロパティ アクセス |
---|---|
パターンのサポート
プロパティ ID |
プロパティ アクセス |
---|---|
その他
プロパティ ID |
プロパティ アクセス |
---|---|
ローカリゼーション
UI オートメーション プロバイダは、次のプロパティをオペレーティング システムの言語で提供する必要があります。
プロパティおよびイベント
UI オートメーションのプロパティには、プロパティ変更イベントの概念が密接に関連しています。動的プロパティの場合、クライアント アプリケーションには、プロパティ値が変更されたことを知る手段が必要です。それにより、その情報のキャッシュを更新するなど、何らかの方法で新しい情報に反応することができます。
プロバイダは、UI 内で何かが変更されると、イベントを発生させます。たとえば、チェック ボックスがオンまたはオフになると、プロバイダのトグル パターンの実装によってプロパティ変更イベントが発生します。プロバイダは、クライアントがイベントをリッスンしているか、または特定のイベントをリッスンしているかに応じて、選択的にイベントを発生させることができます。
すべてのプロパティの変更がイベントを発生させるとは限りません。これは、完全に要素の UI オートメーション プロバイダの実装に依存します。たとえば、リスト ボックスの標準のプロキシ プロバイダは、SelectionProperty が変更されても、イベントを発生させません。この場合、アプリケーションは ElementSelectedEvent をリッスンする必要があります。
クライアントは、イベントをサブスクライブすることでイベントをリッスンします。イベントをサブスクライブすることは、イベントを処理できるデリゲート メソッドを作成し、それらのメソッド内で処理する特定のイベントと共に、それらのメソッドを UI オートメーションに渡すことを意味します。特に、プロパティ変更イベントの場合、クライアントは、AutomationPropertyChangedEventHandler を実装する必要があります。