List 컨트롤 형식에 대한 UI 자동화 지원
참고 |
---|
이 문서는 System.Windows.Automation 네임스페이스에 정의된 관리되는 UI Automation 클래스를 사용하려는 .NET Framework 개발자를 위해 작성되었습니다.UI Automation에 대한 최신 정보는 Windows Automation API: UI Automation을 참조하십시오. |
이 항목에서는 List 컨트롤 형식에 대한 UI Automation 지원 관련 정보를 제공합니다. UI Automation에서 컨트롤 형식은 컨트롤이 ControlTypeProperty 속성을 사용하기 위해 만족해야 하는 조건 집합입니다. 조건에는 UI Automation 트리 구조, UI Automation 속성 값 및 컨트롤 패턴에 대한 지침이 포함됩니다.
List 컨트롤 형식을 사용하면 항목을 하나의 단순한 그룹 또는 여러 그룹으로 구성할 수 있으며 사용자가 이러한 그룹에서 항목을 하나 이상 선택하도록 할 수 있습니다. List 컨트롤 형식에 포함할 수 있는 자식 요소의 형식에 대한 제한은 엄격하지 않습니다. 따라서 UI 자동화 공급자에서 선택 항목 컨테이너에 대해 잘 알려진 요소를 지원할 수 있습니다.
다음 단원의 UI Automation 요구 사항은 Windows Presentation Foundation (WPF), Win32, Windows Forms에 관계없이 List 컨트롤 형식을 구현하는 모든 컨트롤에 적용됩니다. 목록 컨테이너 컨트롤은 List 컨트롤 형식을 구현하는 컨트롤의 예입니다.
이 항목에는 다음 단원이 포함되어 있습니다.
- 필수 UI 자동화 트리 구조
- 필수 UI 자동화 속성
- 필수 UI 자동화 컨트롤 패턴 및 속성
- 필수 UI 자동화 이벤트
- 관련 항목
필수 UI 자동화 트리 구조
다음 표에서는 목록 컨트롤과 관계있는 UI Automation 트리의 두 뷰를 보여 주며 각 뷰에 포함될 수 있는 항목을 설명합니다. 컨트롤 뷰에는 컨트롤인 요소만 포함되며, 콘텐츠 뷰에는 트리에서 중복되는 정보가 표시되지 않습니다. 예를 들어 콤보 상자의 레이블에 사용되는 텍스트 컨트롤은 ComboBox NameProperty로 노출됩니다. 텍스트 컨트롤은 컨트롤 뷰를 통해 이 방식으로 이미 노출되었기 때문에 두 번 노출할 필요가 없으므로 콘텐츠 보기에서는 제거됩니다. UI Automation 트리에 대한 자세한 내용은 UI 자동화 트리 개요를 참조하십시오.
컨트롤 뷰 |
콘텐츠 뷰 |
---|---|
컨트롤에 해당하는 요소가 포함됩니다. |
보조 기술이 최종 사용자에게 의미 있는 최소의 정보 집합으로 작업할 수 있도록 트리에서 중복되는 정보가 제거됩니다. |
List
|
List
|
List 컨트롤 형식을 구현하는 컨트롤(예: 목록 컨트롤)의 컨트롤 뷰는 다음과 같이 구성됩니다.
목록 컨트롤 내의 0개 이상의 항목(항목은 List Item 또는 Data Item 컨트롤 형식을 기반으로 할 수 있음)
목록 컨트롤 내의 0개 이상의 그룹 컨트롤
0, 1 또는 2개의 스크롤 막대 컨트롤
List 컨트롤 형식을 구현하는 컨트롤(예: 목록 컨트롤)의 콘텐츠 뷰는 다음과 같이 구성됩니다.
목록 컨트롤 내의 0개 이상의 항목(항목은 List Item 또는 Data Item 컨트롤 형식을 기반으로 할 수 있음)
목록 컨트롤 내의 0개 이상의 그룹
목록 컨트롤에는 함께 그룹화된 것 이외의 계층 관계가 있는 항목이 들어 있지 않아야 합니다. 항목이 UI Automation 트리에서 자식 항목을 가지는 경우 목록 컨테이너는 Tree 컨트롤 형식을 기반으로 해야 합니다.
목록 컨트롤 내의 선택 가능 항목은 목록 컨트롤의 UI Automation 트리 하위 항목에서 사용할 수 있습니다. 목록 컨트롤 내의 모든 항목은 같은 선택 그룹에 속해야 합니다. 목록의 선택 가능한 항목은 DataItem 대신에 ListItem 컨트롤 형식으로 노출되어야 합니다.
필수 UI 자동화 속성
다음 표에서는 값이나 정의가 특히 목록 컨트롤에 관련된 UI Automation 속성을 나열합니다. UI Automation 속성에 대한 자세한 내용은 클라이언트의 UI 자동화 속성를 참조하십시오.
UI Automation 속성 |
값 |
참고 |
---|---|---|
설명을 참조하십시오. |
이 속성의 값은 응용 프로그램의 모든 컨트롤에서 고유해야 합니다. |
|
설명을 참조하십시오. |
전체 컨트롤이 포함된 가장 바깥쪽 사각형입니다. |
|
설명을 참조하십시오. |
목록 컨트롤에 클릭 가능한 지점(목록으로 포커스가 이동되도록 클릭 가능한 지점)이 있는 경우 해당 지점은 이 속성을 통해 노출됩니다. IsOffScreen 속성의 값이 true이면 NoClickablePointException이 발생합니다. |
|
설명을 참조하십시오. |
키보드 포커스를 받을 수 있는 컨트롤은 이 속성을 지원해야 합니다. |
|
설명을 참조하십시오. |
목록 컨트롤 Name 속성의 값은 사용자가 선택해야 하는 옵션 범주를 전달해야 합니다. 이 속성은 일반적으로 정적 텍스트 레이블에서 이름을 가져옵니다. 정적 텍스트 레이블이 없으면 응용 프로그램 개발자가 Name 속성의 값을 노출해야 합니다. 목록 컨트롤에서 이 속성이 필수가 아닌 유일한 경우는 컨트롤을 다른 컨트롤의 하위 트리 안에서 사용하는 경우입니다. |
|
설명을 참조하십시오. |
정적 텍스트 레이블이 있는 경우 이 속성은 해당 컨트롤에 대한 참조를 노출해야 합니다. |
|
List |
이 값은 모든 UI 프레임워크에서 동일합니다. |
|
"목록" |
List 컨트롤 형식에 해당하는 지역화된 문자열입니다. |
|
True |
목록 컨트롤이 항상 UI Automation 트리의 콘텐츠 뷰에 포함됩니다. |
|
True |
목록 컨트롤이 항상 UI Automation 트리의 컨트롤 뷰에 포함됩니다. |
|
True |
컨테이너가 키보드 입력을 받을 수 있으려면 이 속성 값이 true여야 합니다. |
|
설명을 참조하십시오. |
목록 컨트롤의 도움말 텍스트는 사용자에게 옵션 목록에서 항목을 선택하도록 요청하는 이유를 설명해야 합니다. 예를 들어 "이 목록에서 항목을 선택하면 사용자 모니터의 디스플레이 해상도가 설정됩니다."와 같은 도움말 텍스트가 있을 수 있습니다. |
필수 UI 자동화 컨트롤 패턴 및 속성
다음 표에서는 목록 컨트롤이 지원해야 하는 UI Automation 컨트롤 패턴을 나열합니다. 컨트롤 패턴에 대한 자세한 내용은 UI 자동화 컨트롤 패턴 개요를 참조하십시오.
컨트롤 패턴/패턴 속성 |
지원/값 |
참고 |
---|---|---|
필수 |
선택 상태가 컨트롤에 포함된 항목 간에 유지되는 경우 List 컨트롤 형식을 지원하는 모든 컨트롤은 ISelectionProvider를 구현해야 합니다. 컨테이너 내의 항목을 선택할 수 없는 경우에는 Group 컨트롤 형식을 사용해야 합니다. |
|
상황에 따라 다름 |
목록 컨트롤에서 항상 항목을 선택해야 하는 것은 아닙니다. |
|
상황에 따라 다름 |
목록 컨트롤이 단일 또는 다중 선택 컨테이너일 수 있습니다. |
|
상황에 따라 다름 |
컨테이너의 항목을 스크롤할 수 있는 경우 이 컨트롤을 구현합니다. |
|
상황에 따라 다름 |
항목 단위로 표 탐색을 사용할 수 있어야 하는 경우 이 패턴을 구현합니다. |
|
상황에 따라 다름 |
컨트롤이 컨테이너의 항목에 대한 여러 뷰를 지원할 수 있는 경우 이 컨트롤 패턴을 구현합니다. |
|
절대 지원되지 않음 |
ITableProvider가 List 컨트롤 형식에 대해 지원되지 않습니다. 컨트롤이 이 컨트롤 패턴을 지원해야 하는 경우 컨트롤은 Data Grid 컨트롤 형식을 기반으로 해야 합니다. |
필수 UI 자동화 이벤트
다음 표에서는 모든 목록 컨트롤이 지원해야 하는 UI Automation 이벤트를 나열합니다. 이벤트에 대한 자세한 내용은 UI 자동화 이벤트 개요를 참조하십시오.
UI Automation 이벤트 |
지원/값 |
참고 |
---|---|---|
상황에 따라 다름 |
없음 |
|
상황에 따라 다름 |
없음 |
|
BoundingRectangleProperty 속성 변경 이벤트 |
필수 |
없음 |
IsOffscreenProperty 속성 변경 이벤트 |
필수 |
없음 |
IsEnabledProperty 속성 변경 이벤트 |
필수 |
없음 |
CurrentViewProperty 속성 변경 이벤트 |
상황에 따라 다름 |
없음 |
HorizontallyScrollableProperty 속성 변경 이벤트 |
상황에 따라 다름 |
없음 |
HorizontalScrollPercentProperty 속성 변경 이벤트 |
상황에 따라 다름 |
없음 |
HorizontalViewSizeProperty 속성 변경 이벤트 |
상황에 따라 다름 |
없음 |
VerticalScrollPercentProperty 속성 변경 이벤트 |
상황에 따라 다름 |
없음 |
VerticallyScrollableProperty 속성 변경 이벤트 |
상황에 따라 다름 |
없음 |
VerticalViewSizeProperty 속성 변경 이벤트 |
상황에 따라 다름 |
없음 |
필수 |
없음 |
|
필수 |
없음 |