컨트롤 패턴 및 인터페이스

Microsoft UI 자동화 컨트롤 패턴, 클라이언트가 액세스하는 데 사용하는 클래스 및 공급자가 이를 구현하는 데 사용하는 인터페이스를 나열합니다.

이 항목의 표에서는 Microsoft UI 자동화 컨트롤 패턴에 대해 설명합니다. 또한 UI 자동화 클라이언트가 컨트롤 패턴에 액세스하는 데 사용하는 클래스와, UI 자동화 공급자가 이러한 컨트롤 패턴을 구현하는 데 사용하는 인터페이스를 나열하여 보여줍니다. 이 컨트롤 패턴 열은 UI 자동화 클라이언트 관점에서 패턴 이름을 컨트롤 패턴 가용성 속성 식별자에 나열된 상수 값으로 표시합니다. UI 자동화 공급자 관점에서 이러한 각 패턴은 PatternInterface 상수 이름입니다. 이 클래스 공급자 인터페이스 열에 사용자 지정 XAML 컨트롤에 대해 이 패턴을 제공하기 위해 공급자가 구현하는 인터페이스의 이름이 표시됩니다.

컨트롤 패턴을 노출하고 인터페이스를 구현하는 사용자 지정 자동화 피어를 구현하는 방법에 대한 자세한 내용은 사용자 지정 자동화 피어를 참조하세요.

컨트롤 패턴을 구현할 때는 구현하는 데 사용되는 UI 프레임워크에 관계없이 클라이언트가 컨트롤 패턴을 가질 몇 가지 예상을 설명하는 UI 자동화 공급자 설명서도 참조해야 합니다. 일반 UI 자동화 공급자 설명서에 나열된 정보 중 일부는 피어를 구현하고 해당 패턴을 올바르게 지원하는 방법에 영향을 줍니다. 참조할 섹션은 UI 자동화 컨트롤 패턴 구현이며, 구현하려는 패턴을 문서화하는 페이지를 보십시오.

컨트롤 패턴 클래스 공급자 인터페이스 설명
Annotation IAnnotationProvider 문서에서 주석의 속성을 노출하는 데 사용됩니다.
Dock IDockProvider 도킹 컨테이너에서 도킹될 수 있는 컨트롤에 사용됩니다. 예를 들면, 도구 모음 또는 도구 팔레트입니다.
끌기 IDragProvider 드래그 가능한 컨트롤 또는 드래그 가능한 항목이 있는 컨트롤을 지원하는 데 사용됩니다.
DropTarget IDropTargetProvider 드래그앤드롭 작업의 대상이 될 수 있는 컨트롤을 지원하는 데 사용됩니다.
ExpandCollapse IExpandCollapseProvider 시각적으로 확장되어 더 많은 콘텐츠를 표시하거나 축소되어 콘텐츠를 숨기는 컨트롤을 지원하는 데 사용됩니다.
그리드 IGridProvider 지정된 셀로 이동 및 크기 조정과 같은 표 기능을 지원하는 컨트롤에 사용됩니다. Grid 자체는 레이아웃을 제공하지만 컨트롤은 아니므로 이 패턴을 구현하지 않습니다.
Griditem IGridItemProvider 표 내에서 셀이 있는 컨트롤에 사용됩니다.
Invoke IInvokeProvider 예를 들어 버튼처럼 호출할 수 있는 컨트롤에 사용됩니다.
ItemContainer IItemContainerProvider 애플리케이션이 컨테이너에서 가상화된 목록과 같은 요소를 찾을 수 있도록 합니다.
MultipleView IMultipleViewProvider 동일한 정보, 데이터 또는 자식 항목 집합의 여러 표현 간을 전환할 수 있는 컨트롤에 사용됩니다.
ObjectModel IObjectModelProvider 문서의 기본 객체 모델에 대한 포인터를 노출하는 데 사용됩니다.
RangeValue IRangeValueProvider 컨트롤에 적용할 수 있는 값의 범위가 있는 컨트롤에 사용됩니다. 예를 들어, 연도를 나타내는 회전자 컨트롤의 범위는 1900부터 올해까지이고, 월을 나타내는 다른 회전자 컨트롤의 범위는 1에서 12까지입니다.
스크롤 IScrollProvider 스크롤할 수 있는 컨트롤에 사용됩니다. 예를 들면, 컨트롤의 볼 수 있는 영역에 표시될 수 있는 것보다 많은 정보가 있는 경우 활성 상태의 스크롤 막대가 있는 컨트롤입니다.
ScrollItem IScrollItemProvider 스크롤하는 목록의 개별 항목이 포함된 컨트롤에 사용됩니다. 예를 들면, 스크롤 목록의 개별 항목을 가진 목록 컨트롤(예: 콤보 상자 컨트롤)입니다.
선택 ISelectionProvider 선택 컨테이너 컨트롤에 사용됩니다. 예를 들어, ListBoxComboBox입니다.
SelectionItem ISelectionItemProvider 목록 상자 및 콤보 상자와 같은 선택 컨테이너 컨트롤의 개별 항목에 사용됩니다.
스프레드시트 ISpreadsheetProvider 스프레드시트 또는 다른 그리드 기반 문서의 내용을 노출하는 데 사용됩니다.
SpreadsheetItem ISpreadsheetItemProvider 스프레드시트 또는 다른 그리드 기반 문서에서 셀의 속성을 노출하는 데 사용됩니다.
스타일 IStylesProvider 특정 스타일, 채우기 색, 채우기 패턴 또는 도형이 있는 UI 요소를 설명하는 데 사용됩니다.
SynchronizedInput ISynchronizedInputProvider UI 자동화 클라이언트 앱에서 마우스 또는 키보드 입력을 특정 UI 요소로 보낼 수 있습니다.
테이블 ITableProvider 헤더 정보 및 표가 있는 컨트롤에 사용됩니다. 예를 들어 테이블 형식 달력 컨트롤입니다.
TableItem ITableItemProvider 테이블의 항목에 사용됩니다.
Text ITextProvider 편집 컨트롤 및 텍스트 정보를 노출하는 문서에 사용됩니다. 또한 ITextRangeProviderITextProvider2를 참조하세요.
TextChild ITextChildProvider 요소의 가장 가까운 상위 항목에 액세스하여 텍스트 컨트롤 패턴을 지원하는 데 사용됩니다.
TextEdit 사용할 수 있는 관리되는 클래스 없음 텍스트를 수정하는 컨트롤(예: 자동 수정을 수행하거나 IME(입력 메서드 편집기)을 통해 입력 컴퍼지션을 사용하도록 설정하는 컨트롤)에 대한 액세스를 제공합니다.
TextRange ITextRangeProvider 액세스를 ITextProvider를 구현하는 텍스트 컨테이너의 연속 텍스트 범위에 대해 제공합니다. 또한 ITextRangeProvider2를 참조하세요.
토글 IToggleProvider 상태를 전환할 수 있는 컨트롤에 사용됩니다. 예를 들어, 검사 가능한 체크박스 및 메뉴 항목입니다.
변환 ITransformProvider 크기 조정, 이동 및 회전할 수 있는 컨트롤에 사용됩니다. Transform 컨트롤 패턴은 디자이너, 폼, 그래픽 편집기 및 그리기 애플리케이션에서 일반적으로 사용됩니다.
IValueProvider 클라이언트가 값 범위를 지원하지 않는 컨트롤에 값을 설정하거나 가져올 수 있습니다.
VirtualizedItem IVirtualizedItemProvider 가상화되고 UI 자동화 요소로 완전히 액세스할 수 있게 되어야 하는 컨테이너 내의 항목을 노출합니다.
IWindowProvider 창과 관련된 정보, 기초적인 개념을 Microsoft Windows 운영 체제에 노출합니다. 창인 컨트롤의 예로는 자식 창 및 대화 상자가 있습니다.

참고 항목

기존 XAML 컨트롤에서 이러한 모든 패턴의 구현을 반드시 찾을 필요는 없습니다. 일부 패턴에는 패턴의 일반적인 UI 자동화 프레임워크 정의와의 패리티를 지원하고 해당 패턴을 지원하기 위해 순전히 사용자 지정 구현이 필요한 자동화 피어 시나리오를 지원하기 위한 인터페이스만 있습니다.

참고 항목

Windows Phone Store 앱은 여기에 나열된 모든 UI 자동화 컨트롤 패턴을 지원하지 않습니다. 주석, 도킹, 드래그, 드롭타켓, 객체모델 은 지원되지 않는 패턴 중 일부입니다.