UI オートメーション Value コントロール パターンの実装

Note

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

このトピックでは、イベントおよびプロパティに関する情報など、 IValueProviderの実装のためのガイドラインと規則について説明します。 その他のリファレンスへのリンクは、トピックの最後に記載します。

ValuePattern コントロール パターンは、範囲にまたがることのない組み込み値を持つコントロールや、文字列として表すことができるコントロールをサポートするために使用されます。 この文字列は、コントロールとその設定によっては、編集できます。 このパターンを実装するコントロールの例については、「 Control Pattern Mapping for UI Automation Clients」を参照してください。

実装のガイドラインと規則

Value コントロール パターンを実装する場合は、次のガイドラインと規則に留意してください。

  • ListItemTreeItem などのコントロールは、コントロールの現在の編集モードに関係なく、いずれかの項目の値が編集可能である場合は、 ValuePattern をサポートする必要があります。 子項目が編集可能である場合は、親コントロールも ValuePattern をサポートする必要があります。

編集可能なリスト項目。 編集可能なリスト項目の例

  • 単一行のエディット コントロールは、そのコンテンツへのプログラムによるアクセスをサポートするために、 IValueProviderを実装します。 一方、複数行のエディット コントロールは IValueProviderを実装しません。代わりに ITextProviderを実装して、そのコンテンツへのアクセスを提供します。

  • 複数行の編集コントロールのテキスト コンテンツを取得するには、コントロールが ITextProviderを実装していなければなりません。 ただし、 ITextProvider はコントロールの値の設定はサポートしていません。

  • IValueProvider は、書式設定情報や部分文字列の値の取得をサポートしていません。 このようなシナリオでは ITextProvider を実装します。

  • IValueProvider を実装する必要があるコントロールの一例は、Microsoft Word のカラー ピッカー選択コントロールです (以下を参照)。これは、色の値 (たとえば「黄」) と同等の内部 RGB 構造の間の文字列マッピングをサポートしています。

黄色が強調表示されたカラー ピッカー。 色の見本の文字列マッピングの例

IValueProvider の必須メンバー

IValueProviderの実装には、次のプロパティとメソッドが必要です。

必須メンバー メンバーの型 メモ
IsReadOnlyProperty プロパティ なし
ValueProperty プロパティ なし
SetValue 方法 なし

例外

プロバイダーは、次の例外をスローする必要があります。

例外の種類 条件
InvalidOperationException SetValue

- ロケールに固有の情報が、誤った形式でコントロールに渡された場合 (誤った日付形式など)。
ArgumentException SetValue

- 新しい値を、文字列からコントロールが認識する形式に変換できない場合。
ElementNotEnabledException SetValue

- 有効になっていないコントロールの操作が試行された場合。

関連項目