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가 AutomationElement 및 AutomationElementIdentifiers에 있는 속성을 분류합니다. 이러한 속성은 모든 컨트롤에 공통됩니다. 일부를 제외한 모든 속성은 공급자 애플리케이션의 수명 동안 정적일 가능성이 높습니다. 대부분의 동적 속성은 컨트롤 패턴과 연결되어 있습니다.
속성 액세스 열에는 GetCurrentPropertyValue 및 GetCachedPropertyValue외에도 각 속성에 대한 기타 접근자가 나열됩니다. 클라이언트 애플리케이션에서 속성을 가져오는 방법에 대한 자세한 내용은 UI Automation Properties for Clients을 참조하세요.
참고 항목
각 속성에 대한 특정 정보를 보려면 속성 액세스 열에 있는 링크를 클릭하세요.
특성 표시
속성 식별자 | 속성 액세스 |
---|---|
BoundingRectangleProperty | BoundingRectangle |
CultureProperty | 해당 없음 |
HelpTextProperty | HelpText |
IsOffscreenProperty | IsOffscreen |
OrientationProperty | Orientation |
요소 형식
ID
상호 작용
패턴에 대한 지원
기타
속성 식별자 | 속성 액세스 |
---|---|
IsRequiredForFormProperty | IsRequiredForForm |
IsPasswordProperty | IsPassword |
ItemStatusProperty | ItemStatus |
지역화
UI 자동화 공급자는 운영 체제의 언어에 다음과 같은 속성을 제공해야 합니다.
속성 및 이벤트
UI 자동화의 속성을 사용한 밀접한 관계는 속성 변경 이벤트의 개념입니다. 동적 속성의 경우, 클라이언트 애플리케이션에서는 속성 값이 변경되었는지 확인하는 방법이 필요합니다. 그에 따라 정보 캐시를 업데이트하거나 다른 방법으로 새로운 정보에 대응할 수 있습니다.
UI에 변경이 수행되면 공급자가 이벤트를 발생시킵니다. 예를 들어, 확인란이 선택되거나 선택 취소되면 공급자의 Toggle 패턴 구현에서 속성 변경 이벤트가 발생합니다. 공급자는 클라이언트가 이벤트 또는 특정 이벤트를 수신 대기하는지에 따라 선택적으로 이벤트를 발생시킬 수 있습니다.
일부 공급자는 이벤트를 발생시키지 않습니다. 이는 요소에 대한 UI 자동화 공급자의 구현에 따라 다릅니다. 예를 들어, 목록 상자에 대한 표준 프록시 공급자는 SelectionProperty 가 변경될 때 이벤트를 발생시키지 않습니다. 이 경우, 애플리케이션은 ElementSelectedEvent를 수신 대기합니다.
클라이언트는 이벤트를 구독하여 이벤트를 수신 대기합니다. 이벤트를 구독하는 것은 이벤트를 처리할 수 있는 대리자 메서드를 만들고, 이러한 메서드에서 처리될 특정 이벤트와 함께 해당 메서드를 UI 자동화에 전달한다는 의미입니다. 특히 속성 변경 이벤트의 경우 클라이언트는 AutomationPropertyChangedEventHandler를 구현해야 합니다.