選択コントロール パターン

プロパティ、メソッド、イベントに関する情報など、 ISelectionProvider を実装するためのガイドラインと規則について説明します。 選択コントロール パターンは、選択可能な子項目のコレクションのコンテナーとして機能するコントロールをサポートするために使用されます。 この要素の子は 、ISelectionItemProvider を実装する必要があります。

このコントロール パターンを実装するコントロールの例については、「 コントロールの種類とサポートされているコントロール パターン」を参照してください。

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

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

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

  • ISelectionProvider を実装するコントロールでは、単一または複数の子項目を選択できます。 たとえば、リスト ボックス、リスト ビュー、ツリー ビューでは複数の選択がサポートされますが、コンボ ボックス、スライダー、およびラジオ ボタン グループでは 1 つの選択がサポートされます。

  • メディア プレーヤーの音量スライダー コントロールなど、最小、最大、および連続範囲を持つコントロールは、ISelectionProvider ではなく IRangeValueProvider実装する必要があります。

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

    カラー見本文字列マッピングの例を示す画像

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

ISelectionProvider の必須メンバー

ISelectionProvider インターフェイスを実装するために、次のプロパティ、メソッド、およびイベントが必要です。

必須メンバー メンバーの型 メモ
CanSelectMultiple プロパティ なし
IsSelectionRequired プロパティ なし
GetSelection 方法 なし
UIA_Selection_InvalidatedEventId イベント コンテナー内の選択が大幅に変更された場合に、このイベントを発生させます。

 

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

コントロールの種類とそのサポートされているコントロール パターン

SelectionItem コントロール パターン

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

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