다음을 통해 공유


TreeItem 컨트롤 형식에 대한 UI 자동화 지원

참고 항목

이 설명서는 System.Windows.Automation 네임스페이스에 정의된 관리되는 UI 자동화 클래스를 사용하려는 .NET Framework 개발자를 위한 것입니다. UI 자동화에 대한 최신 정보는 Windows 자동화 API: UI 자동화를 참조하세요.

이 항목에서는 TreeItem 컨트롤 형식에 대한 UI 자동화 지원에 대한 정보를 제공합니다. UI 자동화에서 컨트롤 형식은 ControlTypeProperty 속성을 사용하기 위해 컨트롤이 충족해야 하는 조건 집합입니다. 조건에는 UI 자동화 트리 구조, UI 자동화 속성 값, 컨트롤 패턴에 대한 특정 지침이 포함됩니다.

TreeItem 컨트롤 형식은 트리 컨테이너 내에서 노드를 나타냅니다. 각 노드에는 자식 노드라고 하는 다른 노드가 포함될 수 있습니다. 부모 노드, 즉 자식 노드를 포함하는 노드를 확장 또는 축소된 상태로 표시할 수 있습니다.

다음 섹션에서는 TreeItem 컨트롤 형식에 필요한 UI 자동화 트리 구조, 속성, 컨트롤 패턴, 이벤트를 정의합니다. UI 자동화 요구 사항은 WPF(Windows Presentation Foundation), Win32 또는 Windows Forms 등 모든 TreeItem 컨트롤에 적용됩니다.

필요한 UI 자동화 트리 구조

다음 표에서는 TreeItem 컨트롤과 관련된 UI 자동화 트리의 컨트롤 보기 및 콘텐츠 보기를 설명하고 각 보기에 포함될 수 있는 내용을 설명합니다. UI 자동화 트리에 대한 자세한 내용은 UI 자동화 트리 개요를 참조하세요.

컨트롤 뷰 콘텐츠 뷰
TreeItem

- CheckBox(0 또는 1개)
- Image(0 또는 1개)
- Button(0 또는 1개)
- TreeItem(0개 이상)
TreeItem

- TreeItem(0개 이상)

트리 항목 컨트롤은 UI 자동화 트리의 콘텐츠 뷰에서 0개 이상의 트리 항목 자식을 가질 수 있습니다. 트리 항목 컨트롤이 아래 나열된 컨트롤 패턴에 노출된 것 이상의 기능이 있으면, 컨트롤은 Data Item 컨트롤 형식을 기반으로 해야 합니다.

축소된 트리 항목은 확장되어 표시될 때까지(또는 스크롤하여 볼 수 있을 때까지) 컨트롤 뷰 또는 콘텐츠 뷰에 표시되지 않습니다.

컨트롤 뷰에는 연결된 이미지 또는 단추를 포함하여 컨트롤에 대한 추가 세부 정보가 포함될 수 있습니다. 예를 들어, 개요 보기의 항목에는 개요를 확장하거나 축소할 수 있는 단추는 물론 이미지가 포함될 수 있습니다. 이러한 세부 개체의 정보는 부모 트리 항목이 이미 나타내므로 세부 개체가 콘텐츠 뷰에 나타나지 않습니다. 화면 밖으로 스크롤되는 트리 항목은 UI 자동화 트리의 컨트롤 뷰와 콘텐츠 뷰에 나타나고 IsOffscreenProperty가 true로 설정되어야 합니다.

필요한 UI 자동화 속성

다음 표에는 목록 컨트롤과 특히 관련된 값 또는 정의가 있는 UI 자동화 속성이 나열되어 있습니다. UI 자동화 속성에 대한 자세한 내용은 클라이언트용 UI 자동화 속성을 참조하세요.

UI 자동화 속성 주의
AutomationIdProperty 메모를 참조하세요. 이 속성의 값은 애플리케이션의 모든 컨트롤에서 고유해야 합니다.
BoundingRectangleProperty 메모를 참조하세요. 전체 컨트롤이 포함된 가장 바깥쪽 사각형입니다.
ClickablePointProperty 메모를 참조하세요. 이 속성은 항목이 선택 상태를 변경하거나 포커스를 받을 수 있는 항목의 위치를 반환해야 합니다.
ControlTypeProperty TreeItem 이 값은 모든 UI 프레임워크에 대해 동일합니다.
IsContentElementProperty True 목록 컨트롤은 항상 UI 자동화 트리의 콘텐츠 뷰에 포함됩니다.
IsControlElementProperty True 목록 컨트롤은 항상 UI 자동화 트리의 컨트롤 뷰에 포함됩니다.
IsOffscreenProperty 메모를 참조하세요. 이 속성은 트리 항목 컨트롤이 화면 밖으로 스크롤되면 이를 나타내도록 설정되어 있습니다.
IsKeyboardFocusableProperty 메모를 참조하세요. 컨트롤이 키보드 포커스를 받을 수 있으면 해당 컨트롤은 이 속성을 지원해야 합니다.
ItemTypeProperty 메모를 참조하세요. 트리 항목 컨트롤이 시각적 아이콘을 사용하여 특정 유형의 개체를 나타내는 경우, 이 속성은 지원되어야 하며 개체가 무엇인지를 나타냅니다.
LabeledByProperty Null 트리 항목 컨트롤은 자체적으로 레이블이 지정됩니다.
LocalizedControlTypeProperty "tree item" TreeItem 컨트롤 형식에 해당하는 지역화된 문자열입니다.
NameProperty 메모를 참조하세요. 이 속성은 각 트리 항목 컨트롤에 대해 표시되는 텍스트를 노출합니다.

필요한 UI 자동화 컨트롤 패턴

다음 표에는 목록 컨트롤에서 지원해야 하는 UI 자동화 컨트롤 패턴이 나와 있습니다. 컨트롤 패턴에 대한 자세한 내용은 UI Automation Control Patterns Overview를 참조하세요.

컨트롤 패턴/패턴 속성 지원/값 주의
IInvokeProvider 개체 트리 항목에 별도의 실행 가능한 명령이 있으면 이 컨트롤 패턴을 구현합니다.
IExpandCollapseProvider 모든 트리 항목을 확장하거나 축소할 수 있습니다.
ExpandCollapseState 확장, 축소 또는 리프 노드 트리 항목은 확장되거나 축소되지 않을 때 리프 노드가 됩니다.
IScrollItemProvider 개체 트리 컨테이너가 Scroll 컨트롤 패턴을 지원하는 경우 이 컨트롤 패턴을 구현합니다.
ISelectionItemProvider 개체 사용자가 트리 컨테이너로 돌아갈 때 유지되는 활성 선택 영역을 사용할 수 있는 경우 이 컨트롤 패턴을 구현합니다.
SelectionContainer 이 속성은 컨테이너 내의 모든 항목에 대해 동일한 컨테이너를 노출합니다.
IToggleProvider 개체 트리 항목에 연결된 확인란이 있는 경우 이 컨트롤 패턴을 구현합니다.

필요한 UI 자동화 이벤트

다음 표에는 모든 트리 항목 컨트롤에서 지원해야 하는 UI 자동화 이벤트가 나열되어 있습니다. 이벤트에 대한 자세한 내용은 UI Automation Events Overview를 참조하세요.

UI 자동화 이벤트 지원 주의
AutomationFocusChangedEvent Required None
BoundingRectangleProperty 속성 변경 이벤트. Required None
IsEnabledProperty 속성 변경 이벤트. Required None
IsOffscreenProperty 속성 변경 이벤트. Required None
ItemStatusProperty 속성 변경 이벤트. 개체 None
NameProperty 속성 변경 이벤트. Required None
StructureChangedEvent Required None
ExpandCollapseStateProperty 속성 변경 이벤트. Required None
InvokedEvent 개체 None
CurrentViewProperty 속성 변경 이벤트. 개체 None
ElementAddedToSelectionEvent 개체 None
ElementRemovedFromSelectionEvent 개체 None
ElementSelectedEvent 개체 None
ToggleStateProperty 속성 변경 이벤트. 개체 None
ValueProperty 속성 변경 이벤트. 개체 None

참고 항목