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

メモメモ

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

ここでは、イベントやプロパティに関する情報など、ISelectionProvider を実装するガイドラインと規則について説明します。 追加参照へのリンクはトピックの最後に示します。

SelectionPattern コントロール パターンは、選択可能な子項目のコレクションに対するコンテナーとして機能するコントロールをサポートするために使用します。 この要素の子は、ISelectionItemProvider を実装する必要があります。 このコントロール パターンを実装するコントロールの例については、「UI オートメーション クライアントのコントロール パターン マッピング」を参照してください。

このトピックは、次のセクションで構成されています。

  • 実装のガイドラインと規則
  • ISelectionProvider の必須メンバー
  • 例外
  • 関連トピック

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

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

  • ISelectionProvider を実装するコントロールは、1 つまたは複数の子項目の選択を許可します。 たとえば、リスト ボックス、リスト ビュー、およびツリー ビューは複数の選択をサポートするのに対して、コンボ ボックス、スライダー、およびオプション ボタン グループは単一の選択をサポートします。

  • [音量] スライダー コントロールのように、最小と最大、および連続する範囲を持つコントロールは、ISelectionProvider ではなく IRangeValueProvider を実装する必要があります。

  • [画面のプロパティ] ダイアログ ボックスの [画面の解像度] スライダーや Microsoft Word の [カラー ピッカー] 選択コントロール (次の図を参照) のように、IRawElementProviderFragmentRoot を実装する子コントロールを管理する単一選択のコントロールは、ISelectionProvider を実装する必要があります。その子は、IRawElementProviderFragmentISelectionItemProvider の両方を実装する必要があります。

色見本の文字列のマッピング例

黄色が強調表示されたカラー ピッカー。

  • メニューは SelectionPattern をサポートしません。 グラフィックスとテキストの両方を含むメニュー項目 (Microsoft Outlook の [表示] メニューの [プレビュー ウィンドウ] 項目など) を使用していて、状態を伝達する必要がある場合は、IToggleProvider を実装する必要があります。

ISelectionProvider の必須メンバー

以下のプロパティ、メソッド、およびイベントは、ISelectionProvider インターフェイスに必須です。

必須メンバー

種類

説明

CanSelectMultiple

プロパティ

AddAutomationPropertyChangedEventHandler および RemoveAutomationPropertyChangedEventHandler を使用してプロパティ変更イベントをサポートする必要があります。

IsSelectionRequired

プロパティ

AddAutomationPropertyChangedEventHandler および RemoveAutomationPropertyChangedEventHandler を使用してプロパティ変更イベントをサポートする必要があります。

GetSelection

メソッド

なし

InvalidatedEvent

イベント

コンテナー内での選択内容が大幅に変更され、InvalidateLimit 定数で許容されるよりも多くの追加および削除イベントの送信が必要になった場合に発生します。

IsSelectionRequired プロパティと CanSelectMultiple プロパティは、動的に設定できます。 たとえば、コントロールの初期状態では、既定で項目が選択されていません。これは、IsSelectionRequired が false であることを示します。 ただし、項目が 1 つ選択されると、コントロールは、項目が常に 1 つ以上選択された状態を保持する必要があります。 同様に、まれなケースとして、初期設定では複数の項目の選択を許可し、以降は 1 項目ごとの選択を許可するようにコントロールが設定される場合があります。

例外

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

例外の種類

状態

ElementNotEnabledException

コントロールが有効ではない。

InvalidOperationException

コントロールが非表示。

参照

処理手順

UI オートメーション プロバイダーでのコントロール パターンのサポート

UI オートメーションにおけるキャッシュの使用

概念

UI オートメーション コントロール パターンの概要

クライアントの UI オートメーション コントロール パターン

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

UI オートメーション ツリーの概要