選択コントロール パターン
プロパティ、メソッド、イベントに関する情報など、 ISelectionProvider を実装するためのガイドラインと規則について説明します。 選択コントロール パターンは、選択可能な子項目のコレクションのコンテナーとして機能するコントロールをサポートするために使用されます。 この要素の子は 、ISelectionItemProvider を実装する必要があります。
このコントロール パターンを実装するコントロールの例については、「 コントロールの種類とサポートされているコントロール パターン」を参照してください。
このトピックは、次のセクションで構成されています。
実装のガイドラインと規則
Selection コントロール パターンを実装する場合は、次のガイドラインと規則に注意してください。
ISelectionProvider を実装するコントロールでは、単一または複数の子項目を選択できます。 たとえば、リスト ボックス、リスト ビュー、ツリー ビューでは複数の選択がサポートされますが、コンボ ボックス、スライダー、およびラジオ ボタン グループでは 1 つの選択がサポートされます。
メディア プレーヤーの音量スライダー コントロールなど、最小、最大、および連続範囲を持つコントロールは、ISelectionProvider ではなく IRangeValueProvider を実装する必要があります。
IRawElementProviderFragmentRoot を実装する子コントロールを管理する単一選択コントロール (Windows の [表示プロパティ] ダイアログの [画面の解像度] スライダー、Microsoft Wordの [カラー ピッカー] 選択コントロール (次の図を参照) など) は、ISelectionProvider を実装する必要があります。その子は、IRawElementProviderFragment と ISelectionItemProvider の両方を実装する必要があります。
メニューは 、選択 コントロール パターンをサポートしていません。 グラフィックスとテキストの両方を含むメニュー項目 (Microsoft Outlook の [表示] メニューの [プレビュー ウィンドウ] 項目など) を操作していて、状態を伝達する必要がある場合は、IToggleProvider を実装する必要があります。
ISelectionProvider の必須メンバー
ISelectionProvider インターフェイスを実装するために、次のプロパティ、メソッド、およびイベントが必要です。
必須メンバー | メンバーの型 | メモ |
---|---|---|
CanSelectMultiple | プロパティ | なし |
IsSelectionRequired | プロパティ | なし |
GetSelection | 方法 | なし |
UIA_Selection_InvalidatedEventId | イベント | コンテナー内の選択が大幅に変更された場合に、このイベントを発生させます。 |
ISelectionProvider::IsSelectionRequired プロパティと CanSelectMultiple プロパティは動的にすることができます。 たとえば、コントロールの初期状態では、 IsSelectionRequired が false であることを示す項目が既定で選択されていない場合があります。 しかし、項目が 1 つ選択されると、このコントロールは、項目が常に 1 つ以上選択された状態を保持する必要があります。 同様に、まれなケースとして、初期設定では複数の項目の選択を許可し、以降は 1 項目の選択だけを許可するようにコントロールが設定される場合があります。
関連トピック