次の方法で共有


ExpandCollapse コントロール パターン

プロパティ、メソッド、イベントに関する情報など、IExpandCollapseProvider実装するためのガイドラインと規則について説明します。 ExpandCollapse コントロール パターンは、より多くのコンテンツを表示し、折りたたんでコンテンツを非表示にするために視覚的に展開するコントロールをサポートするために使用されます。

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

このトピックには、次のセクションが含まれています。

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

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

  • 展開/折りたたみ機能を備えた UI を提供する子オブジェクトを使用して構築された集計コントロールは、ExpandCollapse コントロール パターンをサポートする必要があります。一方、子要素ではサポートされません。 たとえば、コンボ ボックス コントロールはリスト ボックス、ボタン、および編集コントロールの組み合わせで作成されますが、ExpandCollapse コントロール パターンをサポートする必要があるのは親コンボ ボックスだけです。

    手記

    例外は、メニュー コントロールであり、個々のメニュー項目オブジェクトの集計です。 メニュー項目オブジェクトは、ExpandCollapse コントロール パターンをサポートできますが、親メニュー コントロールではサポートできません。 同様の例外は、ツリーおよびツリー項目コントロールに適用されます。

     

  • コントロールの IExpandCollapseProvider::ExpandCollapseStateExpandCollapseState_LeafNodeに設定されている場合、ExpandCollapse 機能は現在コントロールに対して非アクティブであり、このコントロール パターンを使用して取得できる唯一の情報は、ExpandCollapseState です。 その後、子オブジェクトが追加されると、ExpandCollapseState が変更され、ExpandCollapse 機能 アクティブ化されます。

  • ExpandCollapseStateは、直接の子オブジェクトの可視性のみを指します。すべての子孫オブジェクトの可視性を参照しているわけではありません。

  • IExpandCollapseProvider::ExpandCollapse 機能はコントロール固有です。 この動作の例を次に示します。

    • Office 個人用メニューには、3 つの状態のメニュー項目 ("Expanded"、"Collapsed"、および "PartiallyExpanded") を指定できます。コントロールは、展開 または折りたたみが呼び出されたときに採用する状態指定します。
    • ツリー項目 展開 を呼び出すと、すべての子孫または直下の子のみが表示される場合があります。
    • コントロール 展開 または Collapse を呼び出して子孫の状態を維持する場合は、状態変更イベントではなく、可視性変更イベントを送信する必要があります。 折りたたまれたときに親コントロールがその子孫の状態を維持しない場合、コントロールは表示されなくなったすべての子孫を破棄し、破棄されたイベントを発生させる可能性があります。または、子孫ごとに ExpandCollapseState を変更し、可視性変更イベントを発生させる可能性があります。
  • ナビゲーションを保証するには、オブジェクトが親 ExpandCollapseStateに関係なく、(適切な可視性の状態で) Microsoft UI オートメーション ツリーに存在することが望ましいです。 子孫がオンデマンドで生成された場合、最初に表示された後、または表示されている間にのみ UI オートメーション ツリーに表示される場合があります。

IExpandCollapseProvider 必須メンバー

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

必須メンバー メンバーの種類 筆記
ExpandCollapseStateする 財産 何一つ
展開 方式 何一つ
折りたたみ 方式 何一つ
IUIAutomationPropertyChangedEventHandler 出来事 このコントロールには、関連付けられたイベントはありません。この汎用イベント ハンドラーを使用します。

 

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

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

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