다음을 통해 공유


DataGrid 컨트롤 형식에 대한 UI 자동화 지원

참고참고

이 문서는 System.Windows.Automation 네임스페이스에 정의된 관리되는 UI Automation 클래스를 사용하려는 .NET Framework 개발자를 위해 작성되었습니다.UI Automation에 대한 최신 정보는 Windows Automation API: UI Automation을 참조하십시오.

이 항목에서는 DataGrid 컨트롤 형식에 대한 Microsoft UI Automation 지원 관련 정보를 제공합니다. UI Automation에서 컨트롤 형식은 컨트롤이 ControlType 속성을 사용하기 위해 만족해야 하는 조건 집합입니다. 조건에는 UI Automation 트리 구조, UI Automation 속성 값 및 컨트롤 패턴에 대한 지침이 포함됩니다.

DataGrid 컨트롤 형식을 사용하면 열로 표현되는 메타데이터가 들어 있는 항목을 쉽게 처리할 수 있습니다. 데이터 표 컨트롤에는 항목 행과 해당 항목에 대한 정보 열이 있습니다. Microsoft Vista 탐색기의 목록 뷰 컨트롤은 DataGrid 컨트롤 형식을 지원하는 예제입니다.

다음 단원에서는 DataGrid 컨트롤 형식의 필수 UI Automation 트리 구조, 속성, 컨트롤 패턴 및 이벤트를 정의합니다. UI Automation 요구 사항은 Windows Presentation Foundation (WPF), Win32, Windows Forms에 관계없이 모든 데이터 표 컨트롤에 적용됩니다.

이 항목에는 다음 단원이 포함되어 있습니다.

  • 필수 UI 자동화 트리 구조
  • 필수 UI 자동화 속성
  • 필수 UI 자동화 컨트롤 패턴
  • 필수 UI 자동화 이벤트
  • Date Grid 컨트롤 형식 예제
  • 관련 항목

필수 UI 자동화 트리 구조

다음 표에서는 데이터 표 컨트롤과 관계가 있는 UI Automation 트리의 컨트롤 뷰 및 콘텐츠 뷰를 보여 주며 각 뷰에 포함될 수 있는 항목에 대해 설명합니다. UI Automation 트리에 대한 자세한 내용은 UI 자동화 트리 개요를 참조하십시오.

UI Automation 트리 - 컨트롤 뷰

UI Automation 트리 - 콘텐츠 뷰

DataGrid

  • Header(0, 1 또는 2)

    • HeaderItem(열 또는 행의 개수)

  • DataItem(0 이상, 계층으로 구조화될 수 있음)

DataGrid

  • DataItem(0 이상, 계층으로 구조화될 수 있음)

필수 UI 자동화 속성

다음 표에서는 값이나 정의가 특히 데이터 표 컨트롤에 관련된 속성을 나열합니다. UI Automation 속성에 대한 자세한 내용은 클라이언트의 UI 자동화 속성를 참조하십시오.

Property

참고

AutomationIdProperty

설명을 참조하십시오.

이 속성의 값은 응용 프로그램의 모든 컨트롤에서 고유해야 합니다.

BoundingRectangleProperty

설명을 참조하십시오.

전체 컨트롤이 포함된 가장 바깥쪽 사각형입니다.

ClickablePointProperty

설명을 참조하십시오.

경계 사각형이 있는 경우 지원됩니다. 경계 사각형 내의 일부 지점을 클릭할 수 없는 경우 특수화된 적중 테스트를 수행하려면 클릭 가능한 지점을 재정의하여 제공해야 합니다.

ControlTypeProperty

DataGrid

이 값은 모든 UI 프레임워크에서 동일합니다.

IsContentElementProperty

True

이 속성의 값은 항상 True입니다. 이것은 데이터 표 컨트롤이 UI Automation 트리의 콘텐츠 뷰에 항상 포함되어야 한다는 의미입니다.

IsControlElementProperty

True

이 속성의 값은 항상 True입니다. 이것은 데이터 표 컨트롤이 UI Automation 트리의 컨트롤 뷰에 항상 포함되어야 한다는 의미입니다.

IsKeyboardFocusableProperty

설명을 참조하십시오.

키보드 포커스를 받을 수 있는 컨트롤은 이 속성을 지원해야 합니다.

LabeledByProperty

설명을 참조하십시오.

정적 텍스트 레이블이 있는 경우 이 속성은 해당 컨트롤에 대한 참조를 노출해야 합니다.

LocalizedControlTypeProperty

"데이터 표"

DataGrid 컨트롤 형식에 해당하는 지역화된 문자열입니다.

NameProperty

설명을 참조하십시오.

일반적으로 데이터 표 컨트롤은 정적 텍스트 레이블에서 Name 속성 값을 가져옵니다. 정적 텍스트 레이블이 없으면 응용 프로그램 개발자가 Name 속성의 값을 할당해야 합니다. Name 속성의 값은 편집 컨트롤의 텍스트 콘텐츠일 수 없습니다.

필수 UI 자동화 컨트롤 패턴

다음 표에는 모든 데이터 표 컨트롤이 지원해야 하는 컨트롤 패턴이 나열되어 있습니다. 컨트롤 패턴에 대한 자세한 내용은 UI 자동화 컨트롤 패턴 개요를 참조하십시오.

컨트롤 패턴

지원

참고

IGridProvider

데이터 표 컨트롤에 포함되는 항목에는 표에 배치되는 메타데이터가 있기 때문에 데이터 표 컨트롤 자체는 항상 Grid 컨트롤 패턴을 지원합니다.

IScrollProvider

상황에 따라 다름

데이터 표를 스크롤할 수 있는지 여부는 콘텐츠와 스크롤 막대 존재 여부에 따라 다릅니다.

ISelectionProvider

상황에 따라 다름

데이터 표를 선택할 수 있는지 여부는 콘텐츠에 따라 다릅니다.

ITableProvider

데이터 표 컨트롤에서는 항상 머리글이 하위 트리 안에 있으므로 Table 컨트롤 패턴을 지원해야 합니다.

데이터 표 컨테이너 내의 데이터 항목은 최소한 다음을 지원합니다.

  • Selection Item 컨트롤 패턴(데이터 표를 선택할 수 있는 경우)

  • Scroll Item 컨트롤 패턴(데이터 표를 스크롤할 수 있는 경우)

  • Grid Item 컨트롤 패턴

  • Table Item 컨트롤 패턴

필수 UI 자동화 이벤트

다음 표에서는 모든 데이터 표 컨트롤이 지원해야 하는 UI Automation 이벤트를 나열합니다. 이벤트에 대한 자세한 내용은 UI 자동화 이벤트 개요를 참조하십시오.

UI Automation 이벤트

지원

참고

AutomationFocusChangedEvent

필수

없음

BoundingRectangleProperty 속성 변경 이벤트

필수

없음

IsEnabledProperty 속성 변경 이벤트

필수

없음

IsOffscreenProperty 속성 변경 이벤트

필수

없음

LayoutInvalidatedEvent

상황에 따라 다름

없음

StructureChangedEvent

필수

없음

CurrentViewProperty 속성 변경 이벤트

상황에 따라 다름

없음

HorizontallyScrollableProperty 속성 변경 이벤트

상황에 따라 다름

Scroll 패턴을 지원하는 컨트롤은 이 이벤트를 지원해야 합니다.

HorizontalScrollPercentProperty 속성 변경 이벤트

상황에 따라 다름

Scroll 패턴을 지원하는 컨트롤은 이 이벤트를 지원해야 합니다.

HorizontalViewSizeProperty 속성 변경 이벤트

상황에 따라 다름

Scroll 패턴을 지원하는 컨트롤은 이 이벤트를 지원해야 합니다.

VerticalScrollPercentProperty 속성 변경 이벤트

상황에 따라 다름

Scroll 패턴을 지원하는 컨트롤은 이 이벤트를 지원해야 합니다.

VerticallyScrollableProperty 속성 변경 이벤트

상황에 따라 다름

Scroll 패턴을 지원하는 컨트롤은 이 이벤트를 지원해야 합니다.

VerticalViewSizeProperty 속성 변경 이벤트

상황에 따라 다름

Scroll 패턴을 지원하는 컨트롤은 이 이벤트를 지원해야 합니다.

InvalidatedEvent

필수

없음

Date Grid 컨트롤 형식 예제

다음 이미지에서는 DataGrid 컨트롤 형식을 구현하는 목록 뷰 컨트롤을 보여 줍니다.

두 개의 데이터 항목이 있는 목록 보기 컨트롤의 그래픽

목록 뷰 컨트롤과 관계가 있는 UI Automation 트리의 컨트롤 뷰 및 콘텐츠 뷰가 아래에 표시되어 있습니다. 각 자동화 요소에 대한 컨트롤 패턴은 괄호 안에 표시되어 있습니다.

UI Automation 트리 - 컨트롤 뷰

UI Automation 트리 - 콘텐츠 뷰

  • DataGrid(Table, Grid, Selection)

  • Header

    • HeaderItem "Name"(Invoke)

    • HeaderItem "Date Modified"(Invoke)

    • HeaderItem "Size"(Invoke)

  • Group "Contoso"(TableItem, GridItem, SelectionItem, Table*, Grid*)

    • DataItem "Accounts Receivable.doc"(SelectionItem, Invoke, TableItem*, GridItem*)

    • DataItem "Accounts Payable.doc"(SelectionItem, Invoke, TableItem*, GridItem*)

  • DataGrid(Table, Grid, Selection)

  • Group "Contoso"(TableItem, GridItem, SelectionItem, Table*, Grid*)

    • DataItem "Accounts Receivable.doc"(SelectionItem, Invoke, TableItem*, GridItem*)

    • DataItem "Accounts Payable.doc"(SelectionItem, Invoke, TableItem*, GridItem*)

*앞의 예제에서는 여러 수준의 컨트롤이 포함된 DataGrid를 보여 줍니다. Group("Contoso") 컨트롤에는 두 개의 DataItem 컨트롤("Accounts Receivable.doc" 및 "Accounts Payable.doc")이 들어 있습니다. DataGrid/GridItem 쌍은 다른 수준의 쌍과 독립적입니다. 간단한 데이터 요소가 아니라 선택 가능한 개체로 보다 명확하게 표시할 수 있도록 Group 아래의 DataItem 컨트롤을 ListItem 컨트롤 형식으로 노출할 수도 있습니다. 그룹화된 데이터 항목의 하위 요소는 이 예제에 포함되지 않습니다.

참고 항목

참조

DataGrid

개념

UI 자동화 컨트롤 형식 개요

UI 자동화 개요