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를 가져오는 클래스 |
---|---|---|
모든 요소에 공통인 속성(아래에 나오는 표 참조) |
||
도킹 창의 위치 |
||
확장하거나 축소할 수 있는 요소 상태 |
||
표에서 항목의 속성 |
||
표의 속성 |
||
여러 뷰가 있는 요소의 현재 뷰와 지원되는 뷰 |
||
슬라이더와 같이 값 범위에서 이동하는 요소의 속성 |
||
스크롤 창의 속성 |
||
목록에 있는 항목처럼 선택할 수 있는 항목의 상태와 컨테이너 |
||
선택 항목을 포함하는 컨트롤의 속성 |
||
테이블에서 항목의 열 및 행 머리글 |
||
테이블에서 열 및 행 머리글과 방향 |
||
토글 컨트롤의 상태 |
||
이동, 회전 또는 크기 조정이 가능한 요소의 기능 |
||
값을 갖는 요소의 값 및 읽기/쓰기 기능 |
||
창의 기능 및 상태 |
범주별 속성
다음 표에서는 IDs가 AutomationElement 및 AutomationElementIdentifiers에 있는 속성을 분류합니다. 이러한 속성은 모든 컨트롤에 공통되며, 대부분 컨트롤 패턴과 연결되는 동적 속성이고 일부만 공급자 응용 프로그램의 수명 동안 정적입니다.
속성 액세스 열에는 GetCurrentPropertyValue 및 GetCachedPropertyValue 외에 사용할 수 있는 각 속성에 대한 기타 접근자가 나와 있습니다. 클라이언트 응용 프로그램에서 속성을 가져오는 자세한 내용은 클라이언트의 UI 자동화 속성을 참조하십시오.
참고 |
---|
각 속성에 대한 자세한 내용을 보려면 속성 액세스 열의 링크로 이동하십시오. |
표시 특성
속성 식별자 |
속성 액세스 |
---|---|
n/a |
|
요소 형식
속성 식별자 |
속성 액세스 |
---|---|
ID
속성 식별자 |
속성 액세스 |
---|---|
상호 작용
속성 식별자 |
속성 액세스 |
---|---|
패턴 지원
속성 식별자 |
속성 액세스 |
---|---|
기타
속성 식별자 |
속성 액세스 |
---|---|
지역화
UI Automation 공급자는 운영 체제의 언어로 다음 속성을 표시해야 합니다.
속성 및 이벤트
UI Automation의 속성과 속성 변경 이벤트 개념은 밀접하게 연관되어 있습니다. 동적 속성의 경우 클라이언트 응용 프로그램이 정보 캐시를 업데이트하거나 몇 가지 다른 방식으로 새 정보에 대응해야 하므로 속성 값이 변경되었음을 알 수 있는 방법이 필요합니다.
UI에서 변경이 발생하면 공급자가 이벤트를 발생시킵니다. 예를 들어 확인란을 선택하거나 선택을 취소하면 공급자의 Toggle 패턴 구현에서 속성 변경 이벤트를 발생시킵니다. 클라이언트가 모든 이벤트를 수신하는지 특정 이벤트를 수신하는지에 따라 공급자는 선택적으로 이벤트를 발생시킬 수 있습니다.
모든 속성 변경이 이벤트를 발생시키는 것은 아닙니다. 이것은 전적으로 요소에 대한 UI 자동화 공급자의 구현을 따릅니다. 예를 들어 목록 상자의 표준 프록시 공급자는 SelectionProperty 변경 시 이벤트를 발생시키지 않습니다. 이 경우 응용 프로그램에서 대신 ElementSelectedEvent를 수신해야 합니다.
클라이언트는 이벤트를 구독하여 이벤트를 수신합니다. 이벤트를 구독한다는 것은 이벤트를 처리할 수 있는 대리자 메서드를 만들고 해당 메서드에서 처리되는 관련 이벤트와 함께 메서드를 UI Automation에 전달한다는 의미입니다. 특히 속성 변경 이벤트의 경우 클라이언트가 AutomationPropertyChangedEventHandler를 구현해야 합니다.