UI 자동화 ExpandCollapse 컨트롤 패턴 구현
참고 |
---|
이 문서는 System.Windows.Automation 네임스페이스에 정의된 관리되는 UI Automation 클래스를 사용하려는 .NET Framework 개발자를 위해 작성되었습니다.UI Automation에 대한 최신 정보는 Windows Automation API: UI Automation을 참조하십시오. |
이 항목에서는 속성, 메서드 및 이벤트에 대한 정보를 포함하여 IExpandCollapseProvider 구현에 대한 지침 및 규칙을 소개합니다. 추가 참조에 대한 링크는 개요 끝 부분에 나와 있습니다.
ExpandCollapsePattern 컨트롤 패턴은 더 많은 내용을 표시하거나 숨기기 위해 시각적으로 확장 또는 축소되는 컨트롤을 지원하는 데 사용됩니다. 이 컨트롤 패턴을 구현하는 컨트롤 예제를 보려면 UI 자동화 클라이언트에 대한 컨트롤 패턴 매핑을 참조하십시오.
이 항목에는 다음 단원이 포함되어 있습니다.
- 구현 지침 및 규칙
- IExpandCollapseProvider의 필수 멤버
- 예외
- 관련 항목
구현 지침 및 규칙
ExpandCollapse 컨트롤 패턴을 구현하는 경우 다음 지침 및 규칙을 따르십시오.
확장/축소 기능이 있는 UI를 제공하는 자식 개체를 사용하여 만들어진 집계 컨트롤의 경우 ExpandCollapsePattern 컨트롤 패턴을 지원해야 하지만 그 자식 요소는 이를 지원하지 않아도 됩니다. 예를 들어 콤보 상자 컨트롤은 목록 상자, 단추 및 편집 컨트롤을 결합하여 만들어지지만 부모 콤보 상자만 ExpandCollapsePattern을 지원하면 됩니다.
참고 개별 MenuItem 개체의 집합체인 메뉴 컨트롤은 예외입니다.MenuItem 개체는 ExpandCollapsePattern 컨트롤 패턴을 지원할 수 있지만 그 부모인 Menu 컨트롤은 이를 지원할 수 없습니다.Tree 및 Tree Item 컨트롤에도 이 예외가 적용됩니다.
컨트롤의 ExpandCollapseState가 LeafNode로 설정된 경우 해당 컨트롤에 대한 ExpandCollapsePattern 기능이 비활성 상태가 되며 이 컨트롤 패턴을 사용하여 얻을 수 있는 정보는 ExpandCollapseState뿐입니다. 나중에 자식 개체가 추가되면 ExpandCollapseState가 변경되고 ExpandCollapsePattern 기능이 활성화됩니다.
ExpandCollapseState는 바로 아래 자식 개체의 표시 여부만 나타내고 그 이하 모든 하위 개체의 표시 여부는 나타내지 않습니다.
확장 및 축소 기능은 컨트롤마다 다르게 작동합니다. 다음은 이 동작의 예입니다.
Office Personal 메뉴는 Expand 또는 Collapse가 호출될 때 컨트롤이 적용할 상태를 지정하는 세 가지 상태의 MenuItem(Expanded, Collapsed 및 PartiallyExpanded)입니다.
TreeItem에 대해 Expand를 호출하면 모든 하위 항목이 표시되거나 바로 아래 자식만 표시될 수 있습니다.
컨트롤에 대해 Expand 또는 Collapse를 호출하는 경우 해당 하위 개체의 상태는 그대로 유지되며 상태 변경 이벤트가 아니라 표시 여부 변경 이벤트가 전송됩니다. 하위 개체가 축소될 때 부모 컨트롤이 그 상태를 유지하지 않는 경우 컨트롤은 더 이상 표시되지 않는 모든 하위 개체를 소멸하고 소멸 이벤트를 발생시키거나 각 하위 개체의 ExpandCollapseState를 변경하고 표시 여부 변경 이벤트를 발생시킵니다.
개체 탐색이 가능하도록 하려면 해당 부모의 ExpandCollapseState에 관계없이 개체에 적절한 표시 여부 상태를 설정하여 UI Automation 트리에 배치하는 것이 좋습니다. 필요 시 생성된 하위 개체는 개체가 처음 표시된 후 또는 표시되는 동안에만 UI Automation 트리에 나타날 수 있습니다.
IExpandCollapseProvider의 필수 멤버
IExpandCollapseProvider 구현에 필요한 속성 및 메서드는 다음과 같습니다.
필수 멤버 |
멤버 형식 |
참고 |
---|---|---|
Property |
없음 |
|
메서드 |
없음 |
|
메서드 |
없음 |
|
Event |
이 컨트롤에는 연결된 이벤트가 없으므로 이 제네릭 대리자를 사용하십시오. |
예외
공급자는 다음 예외를 throw해야 합니다.
예외 형식 |
조건 |
---|---|
ExpandCollapseState가 LeafNode일 때 Expand 또는 Collapse가 호출된 경우 |
참고 항목
작업
TreeWalker를 사용하여 UI 자동화 요소 간 탐색