다음을 통해 공유


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

참고참고

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

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

연락처 목록의 항목이 데이터 항목 컨트롤의 한 예입니다. 데이터 항목 컨트롤에는 최종 사용자에게 필요한 정보가 들어 있습니다. 여기에는 많은 정보가 포함되므로 간단한 목록 항목보다 훨씬 복잡합니다.

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

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

  • 필수 UI 자동화 트리 구조
  • 필수 UI 자동화 속성
  • 필수 UI 자동화 컨트롤 패턴
  • 큰 목록의 데이터 항목 작업
  • 필수 UI 자동화 이벤트
  • DataItem 컨트롤 형식 예제
  • 관련 항목

필수 UI 자동화 트리 구조

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

UI Automation 트리 - 컨트롤 뷰

UI Automation 트리 - 콘텐츠 뷰

DataItem

  • 다양함(0개 이상, 계층으로 구조화될 수 있음)

DataItem

  • 다양함(0개 이상, 계층으로 구조화될 수 있음)

데이터 표의 데이터 항목 요소는 텍스트, 이미지, 편집 컨트롤 등의 특정 표 요소나 데이터 항목의 다른 레이어를 포함한 다양한 개체를 호스팅할 수 있습니다. 특정 개체 역할이 있는 데이터 항목 요소는 특정 컨트롤 형식으로 노출되어야 합니다. 예를 들어, 표의 선택 가능한 데이터 항목을 ListItem 컨트롤 형식으로 노출해야 합니다.

필수 UI 자동화 속성

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

Property

참고

AutomationIdProperty

설명을 참조하십시오.

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

BoundingRectangleProperty

설명을 참조하십시오.

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

ClickablePointProperty

설명을 참조하십시오.

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

ControlTypeProperty

DataItem

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

IsContentElementProperty

True

데이터 항목 컨트롤이 항상 콘텐츠여야 합니다.

IsControlElementProperty

True

데이터 항목 컨트롤이 항상 컨트롤이어야 합니다.

IsKeyboardFocusableProperty

설명을 참조하십시오.

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

ItemStatusProperty

설명을 참조하십시오.

컨트롤에 동적으로 업데이트되는 상태가 포함된 경우에는 요소 상태가 변경될 때 보조 기술이 업데이트를 받을 수 있도록 이 속성이 반드시 지원되어야 합니다.

ItemTypeProperty

설명을 참조하십시오.

항목이 나타내는 내부 개체를 최종 사용자에게 전달하는 문자열 값입니다. "미디어 파일" 또는 "연락처"를 예로 들 수 있습니다.

LabeledByProperty

Null

데이터 항목 컨트롤에는 정적 텍스트 레이블이 없습니다.

LocalizedControlTypeProperty

"데이터 항목"

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

NameProperty

설명을 참조하십시오.

데이터 항목 컨트롤에는 항상 사용자가 항목에 대해 가장 의미 있는 식별자로 연결하는 요소에 관련된 기본 텍스트 요소가 포함됩니다.

필수 UI 자동화 컨트롤 패턴

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

컨트롤 패턴

지원

참고

IExpandCollapseProvider

상황에 따라 다름

데이터 항목을 확장하거나 축소하여 정보를 표시하거나 숨길 수 있으려면 Expand Collapse 패턴이 지원되어야 합니다.

IGridItemProvider

상황에 따라 다름

항목 간 탐색할 수 있는 컨테이너 내에서 데이터 항목 컬렉션을 사용할 수 있는 경우 데이터 항목은 Grid Item 패턴을 지원합니다.

IScrollItemProvider

상황에 따라 다름

데이터 컨테이너에 화면에 표시할 수 있는 것보다 많은 항목이 있을 때 Scroll Item 패턴을 사용하여 뷰로 스크롤할 수 있는 기능을 모든 데이터 항목이 지원합니다.

ISelectionItemProvider

항목이 선택되었을 때 이를 표시하는 Selection Item 패턴을 모든 데이터 항목이 지원해야 합니다.

ITableItemProvider

상황에 따라 다름

데이터 항목이 Data Grid 컨트롤 형식 내에 포함된 경우 이 패턴을 지원합니다.

IToggleProvider

상황에 따라 다름

데이터 항목에 순환할 수 있는 상태가 포함된 경우 지원합니다.

IValueProvider

상황에 따라 다름

데이터 항목의 기본 텍스트가 편집 가능한 텍스트인 경우 Value 패턴이 지원되어야 합니다.

큰 목록의 데이터 항목 작업

큰 목록은 성능 향상에 도움이 되도록 UI 프레임워크 내에서 가상화된 데이터일 경우가 있습니다. 따라서 UI 자동화 클라이언트에서는 다른 항목 컨테이너와 같은 방식으로 UI Automation 쿼리 기능을 사용하여 전체 트리의 콘텐츠를 확인할 수 없습니다. 클라이언트는 데이터 항목의 전체 정보 집합에 액세스하기 전에 항목을 뷰로 스크롤하거나 컨트롤을 확장하여 중요한 옵션을 모두 표시해야 합니다.

데이터 항목에 대한 UI Automation 요소에서 SetFocus를 호출하면 Microsoft Windows Explorer 케이스가 성공적으로 반환되고 포커스가 데이터 항목 하위 트리 내에서 Edit으로 설정됩니다.

필수 UI 자동화 이벤트

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

UI Automation 이벤트

지원

참고

AutomationFocusChangedEvent

필수

없음

BoundingRectangleProperty 속성 변경 이벤트

필수

없음

IsEnabledProperty 속성 변경 이벤트

필수

없음

IsOffscreenProperty 속성 변경 이벤트

필수

없음

NameProperty 속성 변경 이벤트

필수

없음

StructureChangedEvent

필수

없음

InvokedEvent

상황에 따라 다름

없음

ExpandCollapseStateProperty 속성 변경 이벤트

상황에 따라 다름

없음

ElementAddedToSelectionEvent

필수

없음

ElementRemovedFromSelectionEvent

필수

없음

ElementSelectedEvent

필수

없음

ToggleStateProperty 속성 변경 이벤트

상황에 따라 다름

없음

ValueProperty 속성 변경 이벤트

상황에 따라 다름

없음

DataItem 컨트롤 형식 예제

다음 이미지에서는 열에 대한 다양한 정보를 지원하는 List View 컨트롤의 DataItem 컨트롤 형식을 보여 줍니다.

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

데이터 항목 컨트롤에 관련된 UI Automation 트리의 컨트롤 뷰 및 콘텐츠 뷰가 아래에 표시됩니다. 각 자동화 요소에 대한 컨트롤 패턴은 괄호 안에 표시되어 있습니다. Group "Contoso"도 Data Grid 호스트 컨트롤의 표에 포함됩니다.

UI Automation 트리 - 컨트롤 뷰

UI Automation 트리 - 콘텐츠 뷰

  • Group "Contoso"(Table, Grid)

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

  • Image "Accounts Receivable.doc"

  • Edit "Name"(TableItem, GridItem, Value "Accounts Receivable.doc")

  • Edit "Date modified"(TableItem, GridItem, Value "8/25/2006 3:29 PM")

  • Edit "Size"(GridItem, TableItem, Value "11.0 KB)

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

  • ...

  • Group "Contoso"(Table, Grid)

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

  • Image "Accounts Receivable.doc"

  • Edit "Name"(TableItem, GridItem, Value "Accounts Receivable.doc")

  • Edit "Date modified"(TableItem, GridItem, Value "8/25/2006 3:29 PM")

  • Edit "Size"(GridItem, TableItem, Value "11.0 KB)

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

표가 선택 가능한 항목의 목록을 나타낼 경우 해당 UI 요소를 DataItem 컨트롤 형식 대신 ListItem 컨트롤 형식으로 노출할 수 있습니다. ListItem 컨트롤 형식은 SelectionItem 컨트롤 패턴을 이미 지원하므로 위의 예에서 Group("Contoso") 아래의 DataItem 요소("Accounts Receivable.doc"와 "Accounts Payable.doc")를 ListItem 컨트롤 형식으로 노출하여 개선할 수 있습니다.

참고 항목

참조

DataItem

개념

UI 자동화 컨트롤 형식 개요

UI 자동화 개요