次の方法で共有


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

更新 : 2007 年 11 月

ここでは、イベントやプロパティに関する情報など、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 オートメーション ツリーの概要