ScrollBar 컨트롤 형식에 대한 UI 자동화 지원
참고 항목
이 설명서는 System.Windows.Automation 네임스페이스에 정의된 관리되는 UI 자동화 클래스를 사용하려는 .NET Framework 개발자를 위한 것입니다. UI 자동화에 대한 최신 정보는 Windows 자동화 API: UI 자동화를 참조하세요.
이 항목에서는 ScrollBar 컨트롤 형식에 대한 UI 자동화 지원 정보를 제공합니다. UI 자동화에서 컨트롤 형식은 ControlTypeProperty 속성을 사용하기 위해 컨트롤이 충족해야 하는 조건 집합입니다. 조건에는 UI 자동화 트리 구조, UI 자동화 속성 값, 컨트롤 패턴에 대한 특정 지침이 포함됩니다.
스크롤 막대 컨트롤을 통해 사용자가 창 또는 항목 컨테이너 내에서 내용을 스크롤할 수 있습니다. 컨트롤은 단추와 Thumb 컨트롤 집합으로 이루어져 있습니다.
다음 섹션에서는 ScrollBar 컨트롤 형식에 필요한 UI 자동화 트리 구조, 속성, 컨트롤 패턴, 이벤트를 정의합니다. UI 자동화 요구 사항은 WPF(Windows Presentation Foundation), Win32 또는 Windows Forms 여부에 관계없이 모든 목록 컨트롤에 적용됩니다.
필요한 UI 자동화 트리 구조
다음 표는 스크롤 막대 컨트롤과 관련된 UI 자동화 트리의 컨트롤 뷰 및 콘텐츠 뷰를 보여 주고 각 뷰에 포함될 수 있는 내용에 대해 설명합니다. UI 자동화 트리에 대한 자세한 내용은 UI 자동화 트리 개요를 참조하세요.
컨트롤 뷰 | 콘텐츠 뷰 |
---|---|
ScrollBar - Button(2 또는 4개) - Thumb(0 또는 1개) |
해당 없음. 스크롤 막대 컨트롤에 내용이 포함되지 않습니다. |
스크롤 막대 컨트롤은 항상 3 ~ 5개의 자식이 있습니다. 하위 트리에 2개 이상의 단추 컨트롤이 있기 때문에, 테스트 자동화 도구에 대해 검색되도록 하려면 특정 AutomationIdProperty 값을 각 항목에 설정해야 합니다.
필요한 UI 자동화 속성
다음 표에는 스크롤 막대 컨트롤과 특히 관련된 값 또는 정의가 있는 UI 자동화 속성이 나열되어 있습니다. 스크롤 막대 컨트롤에는 내용이 없기 때문에 해당 기능은 Scroll 컨트롤 패턴을 통해 노출되며, 이는 스크롤되는 컨테이너에서 지원됩니다.
UI 자동화 속성에 대한 자세한 내용은 클라이언트용 UI 자동화 속성을 참조하세요.
UI 자동화 속성 | 값 | 주의 |
---|---|---|
AutomationIdProperty | 메모를 참조하세요. | 이 속성의 값은 애플리케이션의 모든 컨트롤에서 고유해야 합니다. |
BoundingRectangleProperty | 메모를 참조하세요. | 전체 컨트롤이 포함된 가장 바깥쪽 사각형입니다. |
IsKeyboardFocusableProperty | 메모를 참조하세요. | 컨트롤이 키보드 포커스를 받을 수 있으면 해당 컨트롤은 이 속성을 지원해야 합니다. |
NameProperty | Null |
스크롤 막대 컨트롤에 콘텐츠 요소가 없으며 NameProperty 를 설정할 필요가 없습니다. |
ClickablePointProperty | 숫자가 아닙니다. | 스크롤 막대 컨트롤에 클릭 가능한 지점이 없습니다. |
LabeledByProperty | Null |
스크롤 막대에 레이블이 없습니다. |
ControlTypeProperty | ScrollBar | 이 값은 모든 프레임워크에 대해 동일합니다. 슬라이더 기능을 하는 스크롤 막대는 Slider 컨트롤 형식을 사용해야 합니다. |
LocalizedControlTypeProperty | "scroll bar" | Button 컨트롤 형식에 해당하는 지역화된 문자열입니다. |
IsContentElementProperty | False | 스크롤 막대 컨트롤은 콘텐츠 요소가 아닙니다. 스크롤 막대가 독립 실행형 컨트롤일 경우 Slider 컨트롤 형식을 충족하고 ControlType.Slider 속성에 대해 ControlType 를 반환해야 합니다. |
IsControlElementProperty | True | 스크롤 막대는 항상 컨트롤이어야 합니다. |
OrientationProperty | True | 스크롤 막대 컨트롤은 항상 가로 또는 세로 방향을 노출해야 합니다. |
필요한 UI 자동화 컨트롤 패턴
다음 표에는 스크롤 막대 컨트롤에서 지원해야 하는 UI 자동화 컨트롤 패턴이 나열되어 있습니다. 컨트롤 패턴에 대한 자세한 내용은 UI Automation Control Patterns Overview를 참조하세요. 스크롤 막대가 마우스 조작의 컨트롤로만 사용되면 컨트롤 패턴을 지원하지 않습니다. 애플리케이션 내에서 슬라이더 컨트롤로 사용되는 경우 Slider 컨트롤 형식이 지정되어야 합니다.
컨트롤 패턴 | 지원 | 주의 |
---|---|---|
IScrollProvider | 안 함 | Scroll 컨트롤 패턴은 스크롤 막대에서 직접 지원되지 않습니다. |
IRangeValueProvider | 개체 | 이 기능은 스크롤 막대를 보유하는 컨테이너에서 Scroll 컨트롤 패턴이 지원되지 않는 경우에만 필요합니다. |
필요한 UI 자동화 이벤트
다음 표에는 모든 스크롤 막대 컨트롤에서 지원해야 하는 UI 자동화 이벤트가 나열되어 있습니다. 이벤트에 대한 자세한 내용은 UI Automation Events Overview를 참조하세요.
UI 자동화 이벤트 | 지원/값 | 주의 |
---|---|---|
BoundingRectangleProperty 속성 변경 이벤트. | Required | None |
IsOffscreenProperty 속성 변경 이벤트. | Required | None |
IsEnabledProperty 속성 변경 이벤트. | Required | None |
HorizontallyScrollableProperty 속성 변경 이벤트. | 안 함 | None |
HorizontalScrollPercentProperty 속성 변경 이벤트. | 안 함 | None |
HorizontalViewSizeProperty 속성 변경 이벤트. | 안 함 | None |
VerticalScrollPercentProperty 속성 변경 이벤트. | 안 함 | None |
VerticallyScrollableProperty 속성 변경 이벤트. | 안 함 | None |
VerticalViewSizeProperty 속성 변경 이벤트. | 안 함 | None |
ValueProperty 속성 변경 이벤트. | 개체 | None |
AutomationFocusChangedEvent | Required | None |
StructureChangedEvent | Required | None |