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

참고 항목

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

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

목록 항목 컨트롤은 List 컨트롤 형식을 구현하는 컨트롤의 예입니다.

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

필요한 UI 자동화 트리 구조

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

컨트롤 뷰 콘텐츠 뷰
ListItem

- Image(0개 이상)
- Text(0개 이상)
- Edit(0개 이상)
ListItem

UI 자동화 트리의 콘텐츠 보기에 있는 목록 항목 컨트롤의 자식은 항상 "0"이어야 합니다. 다른 항목이 목록 항목 아래에 포함되는 컨트롤 구조인 경우 TreeItem 컨트롤 형식에 대한 UI 자동화 지원 컨트롤 형식에 대한 요구 사항을 따라야 합니다.

필요한 UI 자동화 속성

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

UI 자동화 속성 주의
AutomationIdProperty 메모를 참조하세요. 이 속성의 값은 애플리케이션의 모든 컨트롤에서 고유해야 합니다.
BoundingRectangleProperty 메모를 참조하세요. 이 속성의 값은 목록 항목의 이미지 및 텍스트 내용의 영역에 포함되어야 합니다.
ClickablePointProperty 개체 목록 컨트롤에 클릭 가능한 지점(클릭하여 목록에서 포커스를 받을 수 있도록 하는 지점)이 있는 경우, 해당 지점은 이 속성을 통해 노출되어야 합니다. 목록 컨트롤이 하위 목록 항목에 의해 완전히 가려져 있는 경우 NoClickablePointException 를 발생시켜 클라이언트가 목록 컨트롤 내에 항목이 포함되도록 요청해야 클릭 가능한 지점을 사용할 수 있음을 나타냅니다.
NameProperty 메모를 참조하세요. 목록 항목 컨트롤의 이름 속성 값은 항목의 텍스트 내용에서 가져옵니다.
LabeledByProperty 메모를 참조하세요. 정적 텍스트 레이블이 있는 경우 이 속성은 해당 컨트롤에 대한 참조를 노출해야 합니다.
ControlTypeProperty ListItem 이 값은 모든 UI 프레임워크에 대해 동일합니다.
LocalizedControlTypeProperty "list item" ListItem 컨트롤 형식에 해당하는 지역화된 문자열입니다.
IsContentElementProperty True 목록 컨트롤은 항상 UI 자동화 트리의 콘텐츠 뷰에 포함됩니다.
IsControlElementProperty True 목록 컨트롤은 항상 UI 자동화 트리의 컨트롤 뷰에 포함됩니다.
IsKeyboardFocusableProperty True 컨테이너가 키보드 입력을 허용할 수 있으면 이 속성 값은 true여야 합니다.
HelpTextProperty "" 목록 컨트롤에 대한 도움말 텍스트는 옵션 목록에서 선택할지 묻는 메시지가 사용자에게 표시되는 이유를 설명하며, 일반적으로 도구 설명을 통해 제공되는 정보 유형과 동일합니다. 예: "모니터의 디스플레이 해상도를 설정할 항목을 선택하세요."
ItemTypeProperty 개체 이 속성은 내부 개체를 나타내는 목록 항목 컨트롤에 대해 노출되어야 합니다. 이러한 목록 항목 컨트롤에는 일반적으로 사용자가 내부 개체와 연결하는 컨트롤과 연관된 아이콘이 있습니다.
IsOffscreenProperty 개체 이 속성은 Scroll 컨트롤 패턴을 구현하는 부모 컨테이너 내에서 목록 항목이 현재 스크롤해서 표시되는지를 나타내는 값을 반환해야 합니다.

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

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

컨트롤 패턴 지원 주의
ISelectionItemProvider 목록 항목 컨트롤이 이 컨트롤 패턴을 구현해야 합니다. 이렇게 하면 목록 항목 컨트롤을 선택하여 전달할 수 있습니다.
IScrollItemProvider 개체 스크롤 가능한 컨테이너 내에 목록 항목이 포함된 경우 이 컨트롤 패턴을 구현해야 합니다.
IToggleProvider 개체 목록 항목이 선택 가능하고 해당 작업에서 선택 상태 변경을 수행하지 않는 경우 이 컨트롤 패턴을 구현해야 합니다.
IExpandCollapseProvider 개체 정보를 표시하거나 숨기도록 항목을 조작할 수 있는 경우 이 컨트롤 패턴을 구현해야 합니다.
IValueProvider 개체 항목을 편집할 수 있는 경우 이 컨트롤 패턴을 구현해야 합니다. 목록 항목 컨트롤이 변경되면 NamePropertyValue의 값이 변경됩니다.
IGridItemProvider 개체 목록 컨테이너 내에서 항목 간 공간 탐색이 지원되고 컨테이너가 행 및 열로 정렬된 경우 Grid Item 컨트롤 패턴을 구현해야 합니다.
IInvokeProvider 개체 선택된 항목과 별개로, 항목에서 수행할 수 있는 명령이 있는 경우 이 패턴을 구현해야 합니다. 이는 일반적으로 목록 항목 컨트롤을 두 번 클릭하는 것과 연관된 동작입니다. 예를 들어 Microsoft Windows 탐색기에서 문서를 시작하거나 Microsoft Windows Media Player에서 음악 파일을 재생할 수 있습니다.

필요한 UI 자동화 이벤트

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

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

참고 항목