다음을 통해 공유


ExpandCollapse 컨트롤 패턴

속성, 메서드 및 이벤트에 대한 정보를 포함하여 IExpandCollapseProvider를 구현하기 위한 지침 및 규칙에 대해 설명합니다. ExpandCollapse 컨트롤 패턴은 시각적으로 확장되어 더 많은 콘텐츠를 표시하고 축소하여 콘텐츠를 숨기는 컨트롤을 지원하는 데 사용됩니다.

이 컨트롤 패턴을 구현하는 컨트롤의 예는 컨트롤 형식 및 지원되는 컨트롤 패턴을 참조하세요.

이 항목에는 다음과 같은 섹션이 포함되어 있습니다.

구현 지침 및 규칙

ExpandCollapse 컨트롤 패턴을 구현할 때 다음 지침 및 규칙을 확인합니다.

  • UI에 확장/축소 기능을 제공하는 자식 개체로 빌드된 집계 컨트롤은 ExpandCollapse 컨트롤 패턴을 지원해야 하지만 자식 요소는 지원하지 않습니다. 예를 들어 콤보 상자 컨트롤은 목록 상자, 단추 및 편집 컨트롤의 조합으로 빌드되지만 ExpandCollapse 컨트롤 패턴을 지원해야 하는 부모 콤보 상자일 뿐입니다.

    참고

    예외는 개별 메뉴 항목 개체의 집계인 메뉴 컨트롤입니다. 메뉴 항목 개체는 ExpandCollapse 컨트롤 패턴을 지원할 수 있지만 부모 메뉴 컨트롤은 지원할 수 없습니다. 트리 및 트리 항목 컨트롤에도 유사한 예외가 적용 됩니다.

     

  • 컨트롤의 IExpandCollapseProvider::ExpandCollapseStateExpandCollapseState_LeafNode 설정된 경우 모든 ExpandCollapse 기능은 현재 컨트롤에 대해 비활성 상태이며 이 컨트롤 패턴을 사용하여 얻을 수 있는 유일한 정보는 ExpandCollapseState입니다. 이후에 자식 개체가 추가되면 ExpandCollapseState 가 변경되고 ExpandCollapse 기능이 활성화됩니다.

  • ExpandCollapseState 는 직접 자식 개체의 표시 유형만 나타냅니다. 모든 하위 개체의 표시 유형을 참조하지는 않습니다.

  • IExpandCollapseProvider::Expand and Collapse 기능은 컨트롤에 따라 다릅니다. 다음은 이 동작의 예입니다.

    • Office 개인 메뉴는 세 가지 상태 메뉴 항목("확장됨", "축소됨" 및 "PartiallyExpanded")일 수 있습니다. 여기서 컨트롤은 확장 또는 축소 가 호출될 때 채택할 상태를 지정합니다.
    • 트리 항목에서 Expand 을 호출하면 모든 하위 항목 또는 직계 자식만 표시될 수 있습니다.
    • 컨트롤에서 확장 또는 축소 를 호출하면 해당 하위 항목의 상태가 유지되는 경우 상태 변경 이벤트가 아니라 표시 유형 변경 이벤트를 보내야 합니다. 부모 컨트롤이 축소될 때 하위 항목의 상태를 유지하지 않는 경우 컨트롤은 더 이상 표시되지 않는 모든 하위 항목을 삭제하고 소멸된 이벤트를 발생시키지 않을 수 있습니다. 또는 각 하위 항목에 대해 ExpandCollapseState 를 변경하고 표시 유형 변경 이벤트를 발생시킬 수 있습니다.
  • 탐색을 보장하려면 부모 ExpandCollapseState에 관계없이 개체가 Microsoft UI 자동화 트리(적절한 표시 상태)에 있는 것이 좋습니다. 요청 시 생성되는 하위 항목의 경우 처음으로 표시된 다음이나 표시되는 동안만 UI 자동화 트리에 나타날 수 있습니다.

IExpandCollapseProvider에 필요한 멤버

IExpandCollapseProvider 인터페이스를 구현하려면 다음 속성, 메서드 및 이벤트가 필요합니다.

필요한 멤버 멤버 형식 참고
ExpandCollapseState 속성 없음
Expand 방법 없음
축소 방법 없음
IUIAutomationPropertyChangedEventHandler 이벤트 이 컨트롤에는 연결된 이벤트가 없습니다. 이 제네릭 이벤트 처리기를 사용합니다.

 

컨트롤 형식 및 해당 지원되는 컨트롤 패턴

UI 자동화 컨트롤 패턴 개요

UI 자동화 트리 개요