다음을 통해 공유


DataItem 컨트롤 형식

이 항목에서는 DataItem 컨트롤 형식에 대한 Microsoft UI Automation 지원에 대한 정보를 제공합니다.

연락처 목록의 항목은 데이터 항목 컨트롤의 예입니다. 데이터 항목 컨트롤에는 최종 사용자에게 관심 있는 정보가 포함됩니다. 더 풍부한 정보를 포함하기 때문에 단순 목록 항목보다 더 복잡합니다.

다음 섹션에서는 DataItem 컨트롤 형식에 필요한 UI 자동화 트리 구조, 속성, 컨트롤 패턴 및 이벤트를 정의합니다. UI 자동화 요구 사항은 UI 프레임워크/플랫폼이 컨트롤 형식 및 컨트롤 패턴에 대한 UI 자동화 지원을 통합하는 모든 데이터 항목 컨트롤에 적용됩니다.

이 항목에는 다음 섹션이 포함되어 있습니다.

일반적인 트리 구조

다음 표에서는 데이터 항목 컨트롤과 관련된 UI 자동화 트리의 일반적인 컨트롤 및 콘텐츠 뷰를 보여 줍니다. 각 보기에 포함될 수 있는 항목에 대해 설명합니다. UI 자동화 트리에 대한 자세한 내용은 UI 자동화 트리 개요참조하세요.

컨트롤 뷰 콘텐츠 보기
  • DataItem
    • 다양함(0개 이상, 계층 구조화 가능)
  • DataItem
    • 다양함(0개 이상, 계층 구조화 가능)

 

데이터 그리드의 데이터 항목 요소는 다른 데이터 항목 계층 또는 텍스트, 이미지 또는 편집 컨트롤과 같은 특정 그리드 요소를 포함하여 다양한 개체를 호스트할 수 있습니다. 데이터 항목 요소에 특정 개체 역할이 있는 경우 요소는 특정 컨트롤 형식으로 노출되어야 합니다. 예를 들어 ListItem은 표에서 선택 가능한 데이터 항목에 대한 컨트롤 형식을.

관련 속성

다음 표에서는 값 또는 정의가 DataItem 컨트롤 형식과 특히 관련된 UI 자동화 속성을 나열합니다. UI 자동화 속성에 대한 자세한 내용은 UI 자동화 요소속성 검색을 참조하세요.

UI 자동화 속성 노트
UIA_AutomationIdPropertyId 참고를 참조하세요. 이 속성의 값은 UI 자동화 트리의 원시 뷰에 있는 모든 피어 요소 간에 고유해야 합니다.
UIA_BoundingRectanglePropertyId 참고를 참조하세요. 전체 컨트롤을 포함하는 가장 바깥쪽 사각형입니다.
UIA_ClickablePointPropertyId 참고를 참조하세요. 경계 사각형이 있는 경우 지원됩니다. 경계 사각형 내의 모든 지점을 클릭할 수 없는 경우 요소는 특수 적중 테스트를 수행하고, 재정의하고, 클릭 가능한 지점을 제공합니다.
UIA_ControlTypePropertyId dataItem
UIA_IsContentElementPropertyId 데이터 항목 컨트롤은 항상 콘텐츠여야 합니다.
UIA_IsControlElementPropertyId 데이터 항목 컨트롤은 항상 컨트롤이어야 합니다.
UIA_IsKeyboardFocusablePropertyId 참고를 참조하세요. 컨트롤이 키보드 포커스를 받을 수 있는 경우 이 속성을 지원해야 합니다.
UIA_ItemStatusPropertyId 참고를 참조하세요. 컨트롤에 동적으로 업데이트되는 상태가 포함된 경우 보조 기술이 요소의 상태가 변경될 때 업데이트를 받을 수 있도록 이 속성을 지원해야 합니다.
UIA_ItemTypePropertyId 참고를 참조하세요. 항목이 나타내는 기본 개체를 최종 사용자에게 전달하는 문자열 값입니다. 예로는 "미디어 파일" 및 "연락처"가 있습니다.
UIA_LabeledByPropertyId 데이터 항목 컨트롤에는 정적 텍스트 레이블이 없습니다.
UIA_LocalizedControlTypePropertyId 참고를 참조하세요. DataItem 컨트롤 형식에 해당하는 지역화된 문자열입니다. 기본값은 en-US 또는 영어(미국)의 "데이터 항목"입니다.
UIA_NamePropertyId 참고를 참조하세요. 데이터 항목 컨트롤에는 항상 사용자가 항목의 식별자로 인식할 기본 텍스트 요소가 포함됩니다.

 

필수 컨트롤 패턴

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

컨트롤 패턴 지원 노트
IExpandCollapseProvider 따라 달라 집니다 정보를 표시하고 숨기기 위해 데이터 항목을 확장하거나 축소할 수 있는 경우 ExpandCollapse 컨트롤 패턴이 지원되어야 합니다.
IGridItemProvider 따라 달라 집니다 데이터 항목은 공간적으로 항목 간 탐색할 수 있는 컨테이너 내에서 데이터 항목 컬렉션을 사용할 수 있는 경우 GridItem 컨트롤 패턴을 지원합니다.
IScrollItemProvider 따라 달라 집니다 모든 데이터 항목은 데이터 컨테이너에 화면에 맞을 수 있는 것보다 많은 항목이 있는 경우 ScrollItem 컨트롤 패턴으로 보기로 스크롤되는 기능을 지원합니다.
ISelectionItemProvider 따라 달라 집니다 데이터 항목을 선택하는 기능은 콘텐츠에 따라 달라집니다.
ITableItemProvider 따라 달라 집니다 헤더 요소가 있는 DataGrid 컨트롤 형식 내에 데이터 항목이 포함된 경우 TableItem 컨트롤 패턴을 지원해야 합니다.
IToggleProvider 따라 달라 집니다 데이터 항목에 순환할 수 있는 상태가 포함된 경우 토글 컨트롤 패턴을 지원해야 합니다.
IValueProvider 따라 달라 집니다 데이터 항목의 기본 텍스트를 편집할 수 있는 경우 컨트롤 패턴이 지원되어야 합니다.

 

큰 목록에서 DataItems 작업

대용량 목록은 성능을 지원하기 위해 UI 프레임워크 내에서 가상화되는 경우가 많기 때문에 UI 자동화 클라이언트는 UI 자동화 쿼리 기능을 사용하여 다른 항목 컨테이너에서와 동일한 방식으로 전체 트리의 콘텐츠를 검색할 수 없습니다. 클라이언트는 데이터 항목의 전체 정보 집합에 액세스하기 전에 항목을 보기로 스크롤하거나 컨트롤을 확장하여 사용 가능한 모든 옵션을 표시해야 합니다.

데이터 항목에 대한 UI 자동화 요소에서 SetFocus 호출하면 Microsoft Windows 탐색기가 성공적으로 반환되고 포커스가 데이터 항목 하위 트리 내의 Edit 컨트롤로 설정됩니다.

필수 이벤트

다음 표에서는 데이터 항목 컨트롤이 지원하는 데 필요한 UI 자동화 이벤트를 나열합니다. 이벤트에 대한 자세한 내용은 UI 자동화 이벤트 개요참조하세요.

UI 자동화 이벤트 노트
UIA_AutomationFocusChangedEventId
속성 변경 이벤트를 UIA_BoundingRectanglePropertyId.
UIA_ExpandCollapseExpandCollapseStatePropertyId 속성 변경 이벤트입니다. 컨트롤이 ExpandCollapse 컨트롤 패턴을 지원하는 경우 이 이벤트를 지원해야 합니다.
UIA_Invoke_InvokedEventId 컨트롤이 Invoke 컨트롤 패턴을 지원하는 경우 이 이벤트를 지원해야 합니다.
속성 변경 이벤트를 UIA_IsEnabledPropertyId. 컨트롤이 IsEnabled 속성을 지원하는 경우 이 이벤트를 지원해야 합니다.
UIA_IsOffscreenPropertyId 속성 변경 이벤트입니다. 컨트롤이 IsOffscreen 속성을 지원하는 경우 이 이벤트를 지원해야 합니다.
UIA_ItemStatusPropertyId 속성 변경 이벤트입니다. 컨트롤이 ItemStatus 속성을 지원하는 경우 이 이벤트를 지원해야 합니다.
UIA_NamePropertyId 속성 변경 이벤트입니다.
UIA_SelectionItem_ElementAddedToSelectionEventId 컨트롤이 SelectionItem 컨트롤 패턴을 지원하는 경우 이 이벤트를 지원해야 합니다.
UIA_SelectionItem_ElementRemovedFromSelectionEventId 컨트롤이 SelectionItem 컨트롤 패턴을 지원하는 경우 이 이벤트를 지원해야 합니다.
UIA_SelectionItem_ElementSelectedEventId 컨트롤이 SelectionItem 컨트롤 패턴을 지원하는 경우 이 이벤트를 지원해야 합니다.
UIA_StructureChangedEventId
UIA_ToggleToggleStatePropertyId 속성 변경 이벤트입니다. 컨트롤이 토글 컨트롤 패턴을 지원하는 경우 이 이벤트를 지원해야 합니다.
UIA_ValueValuePropertyId 속성 변경 이벤트입니다. 컨트롤이 Value 컨트롤 패턴을 지원하는 경우 이 이벤트를 지원해야 합니다.

 

DataItem 컨트롤 형식 예제

다음 이미지는 목록 보기 컨트롤의 DataItem 컨트롤 형식을 보여 줍니다.

dataitem 컨트롤 형식이스크린샷

데이터 항목 컨트롤과 관련된 UI 자동화 트리의 컨트롤 뷰 및 콘텐츠 보기가 아래에 표시됩니다. 각 자동화 요소에 대한 컨트롤 패턴은 괄호로 표시됩니다. 그룹 "Contoso"도 데이터 그리드 호스트 컨트롤의 그리드에 속합니다. 더 높은 수준의 그리드 구조에 대한 예제는 DataGrid 컨트롤 형식참조하세요.

UI 자동화 트리 - 컨트롤 뷰 UI 자동화 트리 - 콘텐츠 보기
  • 그룹 "Contoso"(Table, Grid)
    • DataItem "accounts Receivable.doc"(TableItem, GridItem, SelectionItem, Invoke)
      • 이미지 "계정 Receivable.doc"
      • "이름" 편집(TableItem, GridItem, 값 "accounts Receivable.doc")
      • "수정된 날짜" 편집(TableItem, GridItem, Value "8/25/2006 3:29 PM")
      • "Size" 편집(GridItem, TableItem, 값 "11.0KB")
    • DataItem "accounts Payable.doc"(TableItem, GridItem, SelectionItem, Invoke)
      • ...
  • 그룹 "Contoso"(Table, Grid)
    • DataItem "accounts Receivable.doc"(TableItem, GridItem, SelectionItem, Invoke)
      • 이미지 "계정 Receivable.doc"
      • "이름" 편집(TableItem, GridItem, 값 "accounts Receivable.doc")
      • "수정된 날짜" 편집(TableItem, GridItem, Value "8/25/2006 3:29 PM")
      • "Size" 편집(GridItem, TableItem, 값 "11.0KB")
    • DataItem "accounts Payable.doc"(TableItem, GridItem, SelectionItem, Invoke)
      • ...

 

표에서 선택 가능한 항목 목록을 나타내는 경우 해당 선택 가능한 UI 요소는 DataItem 컨트롤 형식 대신 ListItem 컨트롤 형식으로 노출될 수 있습니다. 앞의 예제에서 그룹("Contoso")의 DataItem 요소("계정 Receivable.doc" 및 "계정 Payable.doc")는 해당 형식이 이미 SelectionItem 컨트롤 패턴을 지원하므로 ListItem 컨트롤 형식으로 노출하여 개선할 수 있습니다.

개념

UI 자동화 컨트롤 형식 개요

UI 자동화 개요