다음을 통해 공유


UI 자동화 그리드 컨트롤 패턴 구현

비고

이 설명서는 System.Windows.Automation 네임스페이스에 정의된 관리되는 UI 자동화 클래스를 사용하려는 .NET Framework 개발자를 위한 것입니다. UI 자동화에 대한 최신 정보는 Windows Automation API: UI 자동화참조하세요.

이 항목에서는 속성, 메서드 및 이벤트에 대한 정보를 포함하여 IGridProvider구현하기 위한 지침과 규칙을 소개합니다. 추가 참조에 대한 링크는 개요의 끝에 나열됩니다.

GridPattern 컨트롤 패턴은 자식 요소 컬렉션의 컨테이너 역할을 하는 컨트롤을 지원하는 데 사용됩니다. 이 요소의 자식은 행과 열로 트래버스할 수 있는 2차원 논리 좌표계를 구현 IGridItemProvider 하고 구성해야 합니다. 이 컨트롤 패턴을 구현하는 컨트롤의 예제는 UI 자동화 클라이언트 대한컨트롤 패턴 매핑을 참조하세요.

구현 지침 및 규칙

Grid 컨트롤 패턴을 구현할 때 다음 지침 및 규칙을 확인합니다.

  • 그리드 좌표는 0부터 시작되며, 왼쪽 위(또는 로캘에 따라 오른쪽 위)의 셀 좌표는 (0, 0)입니다.

  • 셀이 비어 있는 경우 해당 셀에 대한 속성을 지원 ContainingGrid 하려면 UI 자동화 요소를 계속 반환해야 합니다. 그리드에 있는 자식 요소의 레이아웃이 비정형 배열과 유사할 때 가능합니다(아래 예제 참조).

비정형 레이아웃을 보여 주는 Windows 탐색기 보기 빈 좌표가 있는 눈금 컨트롤의 예

  • 단일 항목을 가진 그리드는 논리적으로 그리드로 간주되는 경우 여전히 IGridProvider을 구현해야 합니다. 그리드의 자식 항목 수는 비물질입니다.

  • 공급자 구현에 따라 숨겨진 행과 열은 UI 자동화 트리에 로드될 수 있으며, 따라서 UI 자동화 트리의 RowCountColumnCount 속성에 반영됩니다. 숨겨진 행과 열이 아직 로드되지 않은 경우 계산되지 않아야 합니다.

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

  • StructureChangedEventHandler 사용하여 추가, 제거 또는 병합된 셀과 같은 그리드의 구조적 또는 레이아웃 변경 내용을 수신 대기합니다.

  • 표의 AutomationFocusChangedEventHandler 항목 또는 셀을 통해 순회를 추적하는 데 사용합니다.

IGridProvider에 필요한 멤버

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

필수 멤버 유형 비고
RowCount 재산 없음
ColumnCount 재산 없음
GetItem 메서드 없음

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

예외

공급자는 다음 예외를 반드시 throw해야 합니다.

예외 유형 조건
ArgumentOutOfRangeException GetItem

- 요청된 행 좌표가 RowCount 보다 크거나 열 좌표가 ColumnCount 보다 크다면.
ArgumentOutOfRangeException GetItem

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

참고하십시오