UI 자동화 Grid 컨트롤 패턴 구현
참고 항목
이 설명서는 System.Windows.Automation 네임스페이스에 정의된 관리되는 UI 자동화 클래스를 사용하려는 .NET Framework 개발자를 위한 것입니다. UI 자동화에 대한 최신 정보는 Windows 자동화 API: UI 자동화를 참조하세요.
이 항목에서는 속성, 메서드 및 이벤트에 대한 정보를 포함하여 IGridProvider를 구현하기 위한 지침 및 규칙을 제공합니다. 추가 참조에 대한 링크는 개요의 끝에 나열되어 있습니다.
GridPattern 컨트롤 패턴은 자식 요소 컬렉션에 컨테이너 역할을 하는 컨트롤을 지원하는 데 사용됩니다. 이 요소의 자식 항목은 IGridItemProvider 를 구현해야 하며 행과 열로 트래버스할 수 있는 2차원의 논리적 좌표계로 구성되어야 합니다. 이 컨트롤 패턴을 구현하는 컨트롤의 예제를 보려면 Control Pattern Mapping for UI Automation Clients을 참조하세요.
구현 지침 및 규칙
Grid 컨트롤 패턴을 구현할 때는 다음 지침 및 규칙에 유의하세요.
Grid 좌표는 0부터 시작하며, 로캘에 따라 왼쪽 상단 또는 오른쪽 상단 셀의 좌표가 (0, 0)입니다.
셀이 비어 있더라도 UI 자동화 요소가 반환되어야 해당 셀의 ContainingGrid 속성을 지원할 수 있습니다. 이러한 상황은 표에 있는 자식 요소의 레이아웃이 비정형 배열과 비슷할 때 발생합니다.
비어 있는 좌표에서 표 컨트롤의 예
단일 항목이 있는 표가 논리적으로 표로 간주되는 경우 이 표는 IGridProvider 구현에 필요합니다. 표에서 자식 항목의 개수는 중요하지 않습니다.
공급자 구현에 따라 숨겨진 행 및 열은 UI 자동화 트리에 로드될 수 있으며, 그에 따라 RowCount 및 ColumnCount 속성에 반영됩니다. 숨겨진 행 및 열이 아직 로드되지 않았으면 반영되지 않습니다.
IGridProvider는 표의 활성 구현을 사용하도록 설정하지 않습니다. 이 기능을 사용하려면 ITransformProvider를 구현해야 합니다.
추가, 제거 또는 병합된 셀과 같이 표의 구조 또는 레이아웃 변경 내용을 수신하려면 StructureChangedEventHandler 를 사용합니다.
표의 항목 또는 셀의 이동을 추적하려면 AutomationFocusChangedEventHandler 를 사용합니다.
IGridProvider에 필요한 멤버
IGridProvider 인터페이스를 구현하려면 다음과 같은 속성 및 메서드가 필요합니다.
필수 멤버 | Type | 주의 |
---|---|---|
RowCount | 속성 | None |
ColumnCount | 속성 | None |
GetItem | 메서드 | None |
이 컨트롤 패턴에 연결된 이벤트가 없습니다.
예외
공급자는 다음과 같은 예외를 throw해야 합니다.
예외 종류 | 조건 |
---|---|
ArgumentOutOfRangeException | GetItem - 요청된 행 좌표가 RowCount보다 크거나 열 좌표가 ColumnCount보다 큰 경우 |
ArgumentOutOfRangeException | GetItem - 요청된 행 또는 열의 좌표가 0보다 작은 경우 |