다음을 통해 공유


UI 자동화 속성 개요

참고참고

이 문서는 System.Windows.Automation 네임스페이스에 정의된 관리되는 UI Automation 클래스를 사용하려는 .NET Framework 개발자를 위해 작성되었습니다.UI Automation에 대한 최신 정보는 Windows Automation API: UI Automation을 참조하십시오.

UI 자동화 공급자는 Microsoft UI Automation 요소에 대한 속성을 노출합니다. 이러한 속성을 통해 UI 자동화 클라이언트 응용 프로그램에서 user interface (UI)에 대한 정보, 특히 정적 및 동적 데이터를 모두 포함한 컨트롤에 대한 정보를 검색할 수 있습니다.

이 항목에는 다음 단원이 포함되어 있습니다.

  • 속성 식별자
  • 범주별 속성
  • 지역화
  • 속성 및 이벤트
  • 관련 항목

이 단원에서는 Microsoft UI Automation 속성에 대해 개괄적으로 소개합니다. 자세한 내용은 다음 항목을 참조하십시오.

속성 식별자

모든 속성은 번호와 이름으로 식별됩니다. 속성 이름은 디버깅 및 진단 용도로만 사용됩니다. 공급자는 숫자 IDs를 사용하여 들어오는 속성 요청을 식별합니다. 하지만 클라이언트 응용 프로그램은 숫자와 이름을 캡슐화하는 AutomationProperty만 사용하여 검색하려는 속성을 식별합니다.

특정 속성을 나타내는 AutomationProperty 개체를 다양한 클래스에서 필드로 사용할 수 있습니다. 보안상의 이유로 UI 자동화 공급자는 Uiautomationtypes.dll에 포함되어 있는 별도의 클래스 집합에서 이러한 개체를 가져옵니다.

다음 표에는 AutomationProperty IDs를 포함하는 클래스별로 속성이 분류되어 있습니다.

속성 종류

클라이언트가 ID를 가져오는 클래스

공급자가 ID를 가져오는 클래스

모든 요소에 공통인 속성(아래에 나오는 표 참조)

AutomationElement

AutomationElementIdentifiers

도킹 창의 위치

DockPattern

DockPatternIdentifiers

확장하거나 축소할 수 있는 요소 상태

ExpandCollapsePattern

ExpandCollapsePatternIdentifiers

표에서 항목의 속성

GridItemPattern

GridItemPatternIdentifiers

표의 속성

GridPattern

GridPatternIdentifiers

여러 뷰가 있는 요소의 현재 뷰와 지원되는 뷰

MultipleViewPattern

MultipleViewPatternIdentifiers

슬라이더와 같이 값 범위에서 이동하는 요소의 속성

RangeValuePattern

RangeValuePatternIdentifiers

스크롤 창의 속성

ScrollPattern

ScrollPatternIdentifiers

목록에 있는 항목처럼 선택할 수 있는 항목의 상태와 컨테이너

SelectionItemPattern

SelectionItemPatternIdentifiers

선택 항목을 포함하는 컨트롤의 속성

SelectionPattern

SelectionPatternIdentifiers

테이블에서 항목의 열 및 행 머리글

TableItemPattern

TableItemPatternIdentifiers

테이블에서 열 및 행 머리글과 방향

TablePattern

TablePatternIdentifiers

토글 컨트롤의 상태

TogglePattern

TogglePatternIdentifiers

이동, 회전 또는 크기 조정이 가능한 요소의 기능

TransformPattern

TransformPatternIdentifiers

값을 갖는 요소의 값 및 읽기/쓰기 기능

ValuePattern

ValuePatternIdentifiers

창의 기능 및 상태

WindowPattern

WindowPatternIdentifiers

범주별 속성

다음 표에서는 IDs가 AutomationElementAutomationElementIdentifiers에 있는 속성을 분류합니다. 이러한 속성은 모든 컨트롤에 공통되며, 대부분 컨트롤 패턴과 연결되는 동적 속성이고 일부만 공급자 응용 프로그램의 수명 동안 정적입니다.

속성 액세스 열에는 GetCurrentPropertyValueGetCachedPropertyValue 외에 사용할 수 있는 각 속성에 대한 기타 접근자가 나와 있습니다. 클라이언트 응용 프로그램에서 속성을 가져오는 자세한 내용은 클라이언트의 UI 자동화 속성을 참조하십시오.

참고참고

각 속성에 대한 자세한 내용을 보려면 속성 액세스 열의 링크로 이동하십시오.

표시 특성

속성 식별자

속성 액세스

BoundingRectangleProperty

BoundingRectangle

CultureProperty

n/a

HelpTextProperty

HelpText

IsOffscreenProperty

IsOffscreen

OrientationProperty

Orientation

요소 형식

속성 식별자

속성 액세스

ControlTypeProperty

ControlType

IsContentElementProperty

IsContentElement

IsControlElementProperty

IsControlElement

ItemTypeProperty

ItemType

LocalizedControlTypeProperty

LocalizedControlType

ID

속성 식별자

속성 액세스

AutomationIdProperty

AutomationId

ClassNameProperty

ClassName

FrameworkIdProperty

FrameworkId

LabeledByProperty

LabeledBy

NameProperty

Name

ProcessIdProperty

ProcessId

RuntimeIdProperty

GetRuntimeId

NativeWindowHandleProperty

NativeWindowHandle

상호 작용

속성 식별자

속성 액세스

AcceleratorKeyProperty

AcceleratorKey

AccessKeyProperty

AccessKey

ClickablePointProperty

GetClickablePoint

HasKeyboardFocusProperty

HasKeyboardFocus

IsEnabledProperty

IsEnabled

IsKeyboardFocusableProperty

IsKeyboardFocusable

패턴 지원

속성 식별자

속성 액세스

IsDockPatternAvailableProperty

GetSupportedPatterns

IsExpandCollapsePatternAvailableProperty

GetSupportedPatterns

IsGridItemPatternAvailableProperty

GetSupportedPatterns

IsGridPatternAvailableProperty

GetSupportedPatterns

IsInvokePatternAvailableProperty

GetSupportedPatterns

IsMultipleViewPatternAvailableProperty

GetSupportedPatterns

IsRangeValuePatternAvailableProperty

GetSupportedPatterns

IsScrollItemPatternAvailableProperty

GetSupportedPatterns

IsScrollPatternAvailableProperty

GetSupportedPatterns

IsSelectionItemPatternAvailableProperty

GetSupportedPatterns

IsSelectionPatternAvailableProperty

GetSupportedPatterns

IsTableItemPatternAvailableProperty

GetSupportedPatterns

IsTablePatternAvailableProperty

GetSupportedPatterns

IsTextPatternAvailableProperty

GetSupportedPatterns

IsTogglePatternAvailableProperty

GetSupportedPatterns

IsTransformPatternAvailableProperty

GetSupportedPatterns

IsValuePatternAvailableProperty

GetSupportedPatterns

IsWindowPatternAvailableProperty

GetSupportedPatterns

기타

속성 식별자

속성 액세스

IsRequiredForFormProperty

IsRequiredForForm

IsPasswordProperty

IsPassword

ItemStatusProperty

ItemStatus

지역화

UI Automation 공급자는 운영 체제의 언어로 다음 속성을 표시해야 합니다.

속성 및 이벤트

UI Automation의 속성과 속성 변경 이벤트 개념은 밀접하게 연관되어 있습니다. 동적 속성의 경우 클라이언트 응용 프로그램이 정보 캐시를 업데이트하거나 몇 가지 다른 방식으로 새 정보에 대응해야 하므로 속성 값이 변경되었음을 알 수 있는 방법이 필요합니다.

UI에서 변경이 발생하면 공급자가 이벤트를 발생시킵니다. 예를 들어 확인란을 선택하거나 선택을 취소하면 공급자의 Toggle 패턴 구현에서 속성 변경 이벤트를 발생시킵니다. 클라이언트가 모든 이벤트를 수신하는지 특정 이벤트를 수신하는지에 따라 공급자는 선택적으로 이벤트를 발생시킬 수 있습니다.

모든 속성 변경이 이벤트를 발생시키는 것은 아닙니다. 이것은 전적으로 요소에 대한 UI 자동화 공급자의 구현을 따릅니다. 예를 들어 목록 상자의 표준 프록시 공급자는 SelectionProperty 변경 시 이벤트를 발생시키지 않습니다. 이 경우 응용 프로그램에서 대신 ElementSelectedEvent를 수신해야 합니다.

클라이언트는 이벤트를 구독하여 이벤트를 수신합니다. 이벤트를 구독한다는 것은 이벤트를 처리할 수 있는 대리자 메서드를 만들고 해당 메서드에서 처리되는 관련 이벤트와 함께 메서드를 UI Automation에 전달한다는 의미입니다. 특히 속성 변경 이벤트의 경우 클라이언트가 AutomationPropertyChangedEventHandler를 구현해야 합니다.

참고 항목

작업

속성 조건을 기반으로 UI 자동화 요소 찾기

UI 자동화 공급자에서 속성 반환

UI 자동화 공급자에서 이벤트 발생

개념

UI 자동화 클라이언트의 캐싱

클라이언트의 UI 자동화 속성

서버측 UI 자동화 공급자 구현