UI 자동화 속성 개요

참고 항목

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

UI 자동화는 Microsoft UI 자동화 요소의 속성을 노출합니다. 이러한 속성을 통해 UI 자동화 클라이언트 애플리케이션은 UI(사용자 인터페이스)에 항목에 대한 정보(특히 정적 및 동적 데이터를 포함한 컨트롤)를 검색할 수 있습니다.

이 섹션에서는 Microsoft UI 자동화 속성에 대한 광범위한 개요를 제공합니다. 보다 구체적인 정보는 다음 항목에서 제공됩니다.

속성 식별자

모든 속성은 숫자 및 이름으로 식별됩니다. 속성의 이름은 디버깅 및 진단용으로만 사용됩니다. 공급자는 숫자 ID를 사용하여 들어오는 속성 요청을 식별합니다. 그러나 클라이언트 애플리케이션은 숫자 및 이름 캡슐화하는 AutomationProperty만 사용하여 검색하려는 속성을 식별합니다.

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

다음 표는 AutomationPropertyID가 포함된 클래스별로 속성을 분류합니다.

속성의 종류 클라이언트가 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

범주별 속성

다음 표에서는 ID가 AutomationElementAutomationElementIdentifiers에 있는 속성을 분류합니다. 이러한 속성은 모든 컨트롤에 공통됩니다. 일부를 제외한 모든 속성은 공급자 애플리케이션의 수명 동안 정적일 가능성이 높습니다. 대부분의 동적 속성은 컨트롤 패턴과 연결되어 있습니다.

속성 액세스 열에는 GetCurrentPropertyValueGetCachedPropertyValue외에도 각 속성에 대한 기타 접근자가 나열됩니다. 클라이언트 애플리케이션에서 속성을 가져오는 방법에 대한 자세한 내용은 UI Automation Properties for Clients을 참조하세요.

참고 항목

각 속성에 대한 특정 정보를 보려면 속성 액세스 열에 있는 링크를 클릭하세요.

특성 표시

속성 식별자 속성 액세스
BoundingRectangleProperty BoundingRectangle
CultureProperty 해당 없음
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 자동화 공급자는 운영 체제의 언어에 다음과 같은 속성을 제공해야 합니다.

속성 및 이벤트

UI 자동화의 속성을 사용한 밀접한 관계는 속성 변경 이벤트의 개념입니다. 동적 속성의 경우, 클라이언트 애플리케이션에서는 속성 값이 변경되었는지 확인하는 방법이 필요합니다. 그에 따라 정보 캐시를 업데이트하거나 다른 방법으로 새로운 정보에 대응할 수 있습니다.

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

일부 공급자는 이벤트를 발생시키지 않습니다. 이는 요소에 대한 UI 자동화 공급자의 구현에 따라 다릅니다. 예를 들어, 목록 상자에 대한 표준 프록시 공급자는 SelectionProperty 가 변경될 때 이벤트를 발생시키지 않습니다. 이 경우, 애플리케이션은 ElementSelectedEvent를 수신 대기합니다.

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

참고 항목