다음을 통해 공유


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 속성을 지원할 수 있습니다. 이러한 상황은 표에 있는 자식 요소의 레이아웃이 비정형 배열과 비슷할 때 발생합니다.

Windows Explorer view showing ragged layout. 비어 있는 좌표에서 표 컨트롤의 예

  • 단일 항목이 있는 표가 논리적으로 표로 간주되는 경우 이 표는 IGridProvider 구현에 필요합니다. 표에서 자식 항목의 개수는 중요하지 않습니다.

  • 공급자 구현에 따라 숨겨진 행 및 열은 UI 자동화 트리에 로드될 수 있으며, 그에 따라 RowCountColumnCount 속성에 반영됩니다. 숨겨진 행 및 열이 아직 로드되지 않았으면 반영되지 않습니다.

  • IGridProvider는 표의 활성 구현을 사용하도록 설정하지 않습니다. 이 기능을 사용하려면 ITransformProvider를 구현해야 합니다.

  • 추가, 제거 또는 병합된 셀과 같이 표의 구조 또는 레이아웃 변경 내용을 수신하려면 StructureChangedEventHandler 를 사용합니다.

  • 표의 항목 또는 셀의 이동을 추적하려면 AutomationFocusChangedEventHandler 를 사용합니다.

IGridProvider에 필요한 멤버

IGridProvider 인터페이스를 구현하려면 다음과 같은 속성 및 메서드가 필요합니다.

필수 멤버 Type 주의
RowCount 속성 None
ColumnCount 속성 None
GetItem 메서드 None

이 컨트롤 패턴에 연결된 이벤트가 없습니다.

예외

공급자는 다음과 같은 예외를 throw해야 합니다.

예외 종류 조건
ArgumentOutOfRangeException GetItem

- 요청된 행 좌표가 RowCount보다 크거나 열 좌표가 ColumnCount보다 큰 경우
ArgumentOutOfRangeException GetItem

- 요청된 행 또는 열의 좌표가 0보다 작은 경우

참고 항목