注
このドキュメントは、System.Windows.Automation 名前空間で定義されているマネージド UI オートメーション クラスを使用する .NET Framework 開発者を対象としています。 UI オートメーションの最新情報については、「Windows Automation API: UI オートメーション 」を参照してください。
このトピックでは、イベントとプロパティに関する情報など、 IValueProviderを実装するためのガイドラインと規則について説明します。 その他の参照へのリンクは、トピックの最後に一覧表示されます。
ValuePattern コントロール パターンは、範囲にまたがらず、文字列として表すことができる組み込み値を持つコントロールをサポートするために使用されます。 この文字列は、コントロールとその設定に応じて編集可能です。 このパターンを実装するコントロールの例については、「 UI オートメーション クライアントのコントロール パターン マッピング」を参照してください。
実装のガイドラインと規則
Value コントロール パターンを実装する場合は、次のガイドラインと規則に注意してください。
- ListItemやTreeItemなどのコントロールは、コントロールの現在の編集モードに関係なく、いずれかの項目の値が編集可能な場合にValuePatternをサポートする必要があります。 親コントロールは、子項目が編集可能な場合も ValuePattern をサポートする必要があります。
編集可能なリスト アイテムの例
単一行の編集コントロールでは、 IValueProviderを実装することで、コンテンツへのプログラムによるアクセスがサポートされます。 ただし、複数行の編集コントロールは IValueProviderを実装しません。代わりに、 ITextProviderを実装することでコンテンツへのアクセスを提供します。
複数行の編集コントロールのテキストコンテンツを取得するには、コントロールが ITextProviderを実装する必要があります。 ただし、 ITextProvider はコントロールの値の設定をサポートしていません。
IValueProvider では、書式設定情報または部分文字列値の取得はサポートされていません。 これらのシナリオで ITextProvider を実装します。
IValueProvider は、色の値 ("yellow" など) と同等の内部 RGB 構造体との間の文字列マッピングをサポートする、Microsoft Word のカラー ピッカー 選択コントロール (下図) などのコントロールによって実装される必要があります。
色見本文字列マッピングの例
-
IsEnabledPropertyの呼び出しを許可する前に、コントロールの
true
を IsReadOnlyProperty に設定し、そのfalse
を SetValue に設定する必要があります。
IValueProvider の必須メンバー
IValueProviderの実装には、次のプロパティとメソッドが必要です。
必須メンバー | メンバーの種類 | 注記 |
---|---|---|
IsReadOnlyProperty | プロパティ | 無し |
ValueProperty | プロパティ | 無し |
SetValue | メソッド | 無し |
例外
プロバイダーは、次の例外をスローする必要があります。
例外の種類 | 条件 |
---|---|
InvalidOperationException | SetValue - ロケール固有の情報が正しくない形式でコントロールに渡された場合 (形式が正しくない日付など)。 |
ArgumentException | SetValue - 新しい値を文字列からコントロールが認識する形式に変換できない場合。 |
ElementNotEnabledException | SetValue - 有効になっていないコントロールを操作しようとした場合。 |