비고
이 설명서는 System.Windows.Automation 네임스페이스에 정의된 관리되는 UI 자동화 클래스를 사용하려는 .NET Framework 개발자를 위한 것입니다. UI 자동화에 대한 최신 정보는 Windows Automation API: UI 자동화참조하세요.
UI 자동화 공급자는 Microsoft UI 자동화 요소에 속성을 노출합니다. 이러한 속성을 사용하면 UI 자동화 클라이언트 애플리케이션이 UI(사용자 인터페이스) 조각, 특히 정적 데이터와 동적 데이터를 포함한 컨트롤에 대한 정보를 검색할 수 있습니다.
이 섹션에서는 Microsoft UI 자동화 속성에 대한 광범위한 개요를 제공합니다. 자세한 내용은 다음 항목에서 제공합니다.
속성 식별자
모든 속성은 숫자와 이름으로 식별됩니다. 속성 이름은 디버깅 및 진단에만 사용됩니다. 공급자는 숫자 ID를 사용하여 들어오는 속성 요청을 식별합니다. 그러나 클라이언트 애플리케이션은 AutomationProperty를 사용하여 숫자와 이름을 캡슐화하며 검색하려는 속성을 식별합니다.
AutomationProperty 특정 속성을 나타내는 개체는 다양한 클래스의 필드로 사용할 수 있습니다. 보안상의 이유로 UI 자동화 공급자는 Uiautomationtypes.dll포함된 별도의 클래스 집합에서 이러한 개체를 가져옵니다.
다음 표에서는 ID를 포함하는 AutomationProperty클래스별로 속성을 분류합니다.
범주별 속성
다음 표는 ID가 AutomationElement 및 AutomationElementIdentifiers에서 발견되는 속성을 분류합니다. 이러한 속성은 모든 컨트롤에 공통적으로 적용됩니다. 이 중 일부를 제외한 모든 항목은 공급자 애플리케이션의 수명 동안 정적일 수 있습니다. 대부분의 동적 속성은 컨트롤 패턴과 연결됩니다.
속성 액세스 열에는 각 속성의 다른 접근자가 GetCurrentPropertyValue 및 GetCachedPropertyValue와 함께 나열됩니다. 클라이언트 애플리케이션에서 속성을 가져오는 방법에 대한 자세한 내용은 클라이언트용 UI 자동화 속성을 참조하세요.
비고
각 속성에 대한 자세한 내용은 속성 액세스 열의 링크를 따릅니다.
표시 특성
속성 식별자 | 속성 접근 |
---|---|
BoundingRectangleProperty | BoundingRectangle |
CultureProperty | n/a |
HelpTextProperty | HelpText |
IsOffscreenProperty | IsOffscreen |
OrientationProperty | Orientation |
요소 형식
신분 증명
상호작용
패턴 지원
기타
속성 식별자 | 속성 접근 |
---|---|
IsRequiredForFormProperty | IsRequiredForForm |
IsPasswordProperty | IsPassword |
ItemStatusProperty | ItemStatus |
지역화
UI 자동화 공급자는 운영 체제의 언어로 다음 속성을 제공해야 합니다.
속성 및 이벤트
UI 자동화의 속성과 밀접하게 연결된 것은 속성 변경 이벤트의 개념입니다. 동적 속성의 경우 클라이언트 애플리케이션은 정보 캐시를 업데이트하거나 다른 방법으로 새 정보에 반응할 수 있도록 속성 값이 변경되었음을 알 수 있는 방법이 필요합니다.
UI에 변경이 수행되면 공급자가 이벤트를 발생시킵니다. 예를 들어 확인란을 선택하거나 선택 취소하면 공급자의 토글 패턴 구현에 의해 속성 변경 이벤트가 발생합니다. 공급자는 클라이언트가 이벤트 또는 특정 이벤트를 수신 대기하는지에 따라 선택적으로 이벤트를 발생시킬 수 있습니다.
모든 속성 변경이 이벤트를 발생시키는 것은 아닙니다. 이는 전적으로 요소에 대한 UI 자동화 공급자의 구현에 달려 있습니다. 예를 들어 목록 상자에 대한 표준 프록시 공급자는 SelectionProperty이 변경될 때 이벤트를 발생시키지 않습니다. 이 경우 애플리케이션은 ElementSelectedEvent을 듣고 있어야 합니다.
클라이언트는 이벤트를 구독하여 수신 대기합니다. 이벤트를 구독한다는 것은 이벤트를 처리할 수 있는 대리자 메서드를 만든 다음 해당 메서드에서 처리될 특정 이벤트와 함께 메서드를 UI 자동화에 전달하는 것을 의미합니다. 특히 속성 변경 이벤트의 경우 클라이언트는 AutomationPropertyChangedEventHandler를 구현해야 합니다.