Tree 컨트롤 형식에 대한 UI 자동화 지원
참고 항목
이 설명서는 System.Windows.Automation 네임스페이스에 정의된 관리되는 UI 자동화 클래스를 사용하려는 .NET Framework 개발자를 위한 것입니다. UI 자동화에 대한 최신 정보는 Windows 자동화 API: UI 자동화를 참조하세요.
이 항목에서는 트리 컨트롤 형식에 대한 UI 자동화 지원에 대한 정보를 제공합니다. UI 자동화에서 컨트롤 형식은 ControlTypeProperty 속성을 사용하기 위해 컨트롤이 충족해야 하는 조건 집합입니다. 조건에는 UI 자동화 트리 구조, UI 자동화 속성 값, 컨트롤 패턴에 대한 특정 지침이 포함됩니다.
Microsoft Windows Explorer의 왼쪽 창에 파일 및 폴더 표시되는 방식과 마찬가지로, 트리 컨트롤 형식은 콘텐츠가 노드 계층으로 관련성이 있는 컨테이너에 사용됩니다. 각 노드에는 자식 노드라고 하는 다른 노드가 포함될 수 있습니다. 부모 노드, 즉 자식 노드를 포함하는 노드를 확장 또는 축소된 상태로 표시할 수 있습니다.
다음 섹션에서는 트리 컨트롤 형식에 필요한 UI 자동화 트리 구조, 속성, 컨트롤 패턴, 이벤트를 정의합니다. UI 자동화 요구 사항은 WPF(Windows Presentation Foundation), Win32 또는 Windows Forms 등 모든 트리 컨트롤에 적용됩니다.
필요한 UI 자동화 트리 구조
다음 표에서는 트리 컨트롤과 관련된 UI 자동화 트리의 컨트롤 보기 및 콘텐츠 보기를 설명하고 각 보기에 포함될 수 있는 내용을 설명합니다. UI 자동화 트리에 대한 자세한 내용은 UI 자동화 트리 개요를 참조하세요.
컨트롤 뷰 | 콘텐츠 뷰 |
---|---|
트리
|
트리
|
UI 자동화 트리의 컨트롤 뷰는 다음과 같이 구성되어 있습니다.
컨테이너 내의 0개 이상 항목(항목은 Tree Item, Data Item 또는 기타 컨트롤 형식에 따라 다를 수 있음).
0, 1 또는 2개의 스크롤 막대.
UI 자동화 트리의 콘텐츠 뷰는 컨테이너 내의 0개 이상 항목으로 이루어져 있습니다(항목은 Tree Item, Data Item 또는 기타 컨트롤 형식에 따라 다를 수 있음).
필요한 UI 자동화 속성
다음 표에는 목록 컨트롤과 특히 관련된 값 또는 정의가 있는 UI 자동화 속성이 나열되어 있습니다. UI 자동화 속성에 대한 자세한 내용은 클라이언트용 UI 자동화 속성을 참조하세요.
UI 자동화 속성 | 값 | 주의 |
---|---|---|
AutomationIdProperty | 메모를 참조하세요. | 이 속성의 값은 애플리케이션의 모든 컨트롤에서 고유해야 합니다. |
BoundingRectangleProperty | 메모를 참조하세요. | 전체 컨트롤이 포함된 가장 바깥쪽 사각형입니다. |
ClickablePointProperty | 메모를 참조하세요. | 트리 컨트롤에는 트리 또는 트리 컨테이너의 항목에 포커스를 설정할 수 있는 클릭 가능한 지점이 있습니다. 특정 위치를 선택해도 항목 중 하나가 선택되거나 포커스가 생기지 않는 경우에만 트리의 클릭 가능한 지점을 사용할 수 있습니다. |
ControlTypeProperty | 트리 | 이 값은 모든 UI 프레임워크에 대해 동일합니다. |
IsContentElementProperty | True | 트리 컨트롤은 항상 UI 자동화 트리의 콘텐츠 보기에 포함됩니다. |
IsControlElementProperty | True | 트리 컨트롤은 항상 UI 자동화 트리의 컨트롤 보기에 포함됩니다. |
IsKeyboardFocusableProperty | 메모를 참조하세요. | 컨트롤이 키보드 포커스를 받을 수 있으면 해당 컨트롤은 이 속성을 지원해야 합니다. |
LabeledByProperty | 메모를 참조하세요. | 트리 컨트롤에 연결된 레이블이 있는 경우, 이 속성은 해당 레이블에 대해 AutomationElement 를 반환합니다. 그렇지 않은 경우 이 속성은 null 참조를 반환합니다(Microsoft Visual Basic .NET의 Nothing ). |
LocalizedControlTypeProperty | "tree" | List 컨트롤 형식에 해당하는 지역화된 문자열입니다. |
NameProperty | 메모를 참조하세요. | 트리 컨트롤의 Name 속성 값은 일반적으로 컨트롤의 레이블을 지정하는 텍스트에서 제공됩니다. 텍스트 레이블이 없는 경우, 애플리케이션 개발자가 이 속성에 대한 값을 제공해야 합니다. |
필요한 UI 자동화 컨트롤 패턴
다음 표에는 목록 컨트롤에서 지원해야 하는 UI 자동화 컨트롤 패턴이 나와 있습니다. 컨트롤 패턴에 대한 자세한 내용은 UI Automation Control Patterns Overview를 참조하세요.
컨트롤 패턴/패턴 속성 | 지원/값 | 주의 |
---|---|---|
ISelectionProvider | 개체 | 선택 가능한 항목 집합이 포함된 트리 컨트롤은 이 컨트롤 패턴을 구현해야 합니다. 항목을 선택해도 사용자에게 의미 있는 정보가 전달되지 않으면 이 컨트롤 패턴을 구현할 필요가 없습니다. |
CanSelectMultiple | 메모를 참조하세요. | 트리 컨트롤에서 다중 선택을 지원하는 경우(대부분의 트리 컨트롤에서 다중 선택을 지원하지 않음) 이 속성을 구현합니다. |
IsSelectionRequired | 메모를 참조하세요. | 이 속성의 값은 컨트롤에 항목을 선택해야 하는 경우 노출됩니다. |
IScrollProvider | 개체 | 트리 컨테이너의 내용을 스크롤할 수 있는 경우 이 컨트롤 패턴을 구현합니다. |
필요한 UI 자동화 이벤트
다음 표에는 모든 트리 컨트롤에서 지원해야 하는 UI 자동화 이벤트가 나열되어 있습니다. 이벤트에 대한 자세한 내용은 UI Automation Events Overview를 참조하세요.
UI 자동화 이벤트 | 지원 | 주의 |
---|---|---|
InvalidatedEvent | 개체 | None |
BoundingRectangleProperty 속성 변경 이벤트. | Required | None |
IsOffscreenProperty 속성 변경 이벤트. | Required | None |
IsEnabledProperty 속성 변경 이벤트. | Required | None |
HorizontallyScrollableProperty 속성 변경 이벤트. | 개체 | None |
HorizontalScrollPercentProperty 속성 변경 이벤트. | 개체 | None |
HorizontalViewSizeProperty 속성 변경 이벤트. | 개체 | None |
VerticalScrollPercentProperty 속성 변경 이벤트. | 개체 | None |
VerticallyScrollableProperty 속성 변경 이벤트. | 개체 | None |
VerticalViewSizeProperty 속성 변경 이벤트. | 개체 | None |
AutomationFocusChangedEvent | Required | None |
StructureChangedEvent | Required | None |