クライアントの UI オートメーション コントロール パターン
更新 : 2007 年 11 月
ここでは、UI オートメーション クライアントのコントロール パターンについて説明します。UI オートメーション クライアントがコントロール パターンを使用して、ユーザー インターフェイス (UI) の情報にアクセスするしくみについても説明します。
コントロール パターンは、コントロールの型や外観に関係なく、コントロールの機能を分類したり公開したりするための手段です。UI オートメーション クライアントは、AutomationElement を調べてどのコントロール パターンがサポートされているか特定し、そのコントロールの動作を確実に実行することができます。
すべてのコントロール パターンの一覧については、「UI オートメーション コントロール パターンの概要」を参照してください。
このトピックには次のセクションが含まれています。
- コントロール パターンの取得
- コントロール パターンのプロパティの取得
- 可変パターンを持つコントロール
- 関連トピック
コントロール パターンの取得
クライアントは、AutomationElement.GetCachedPattern または AutomationElement.GetCurrentPattern を呼び出して、AutomationElement からコントロール パターンを取得します。
クライアントは、GetSupportedPatterns メソッドまたは個別の IsPatternAvailable プロパティ (IsTextPatternAvailableProperty など) を使用して、パターンまたはパターンのグループが AutomationElement でサポートされているかどうかを判断できます。ただし、サポートされているプロパティを確認してコントロール パターンを取得するよりも、コントロール パターンを取得して null 参照に対するテストを試行する方が、プロセス間呼び出しが少なくなるため効率的です。
AutomationElement から TextPattern コントロール パターンを取得する方法を次の例に示します。
// Specify the control type we're looking for, in this case 'Document'
PropertyCondition cond = new PropertyCondition(AutomationElement.ControlTypeProperty, ControlType.Document);
// target --> The root AutomationElement.
AutomationElement textProvider = target.FindFirst(TreeScope.Descendants, cond);
targetTextPattern = textProvider.GetCurrentPattern(TextPattern.Pattern) as TextPattern;
if (targetTextPattern == null)
{
Console.WriteLine("Root element does not contain a descendant that supports TextPattern.");
return;
}
コントロール パターンのプロパティの取得
クライアントは、AutomationElement.GetCachedPropertyValue または AutomationElement.GetCurrentPropertyValue を呼び出し、返されたオブジェクトを適切な型にキャストすることで、コントロール パターンのプロパティ値を取得することができます。UI オートメーション プロパティの詳細については、「クライアントの UI オートメーション プロパティ」を参照してください。
GetPropertyValue メソッドに加え、共通言語ランタイム (CLR) アクセサを介してパターンの UI オートメーション プロパティにアクセスすることでプロパティ値を取得することもできます。
可変パターンを持つコントロール
一部のコントロール型は、状態やコントロールの使用方法に応じた複数のパターンをサポートしています。可変パターンを持つコントロールの例としては、リスト ビュー (サムネイル、タイル、アイコン、リスト、詳細)、Microsoft Excel グラフ (円、線、横棒、式を使用するセル値)、Microsoft Word のドキュメント領域 (標準、Web レイアウト、アウトライン、印刷レイアウト、印刷プレビュー)、Microsoft Windows Media Player スキンなどがあります。
カスタム コントロール型を実装するコントロールは、機能を表すために必要なコントロール パターンの任意のセットを持つことができます。
参照
処理手順
UI オートメーションを使用した、チェック ボックスのトグル状態の取得
InvokePattern、ExpandCollapsePattern、および TogglePattern のサンプル
概念
UI オートメーション クライアントのコントロール パターン マッピング