다음을 통해 공유


UI 자동화 Selection 컨트롤 패턴 구현

참고참고

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

이 항목에서는 이벤트 및 속성에 대한 정보를 포함하여 ISelectionProvider 구현에 대한 지침 및 규칙을 소개합니다. 추가 참조에 대한 링크는 항목 끝 부분에 나와 있습니다.

SelectionPattern 컨트롤 패턴은 선택 가능한 자식 항목 컬렉션의 컨테이너 기능을 하는 컨트롤을 지원하는 데 사용합니다. 이 요소의 자식 항목은 ISelectionItemProvider를 구현해야 합니다. 이 컨트롤 패턴을 구현하는 컨트롤 예제를 보려면 UI 자동화 클라이언트에 대한 컨트롤 패턴 매핑을 참조하십시오.

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

  • 구현 지침 및 규칙
  • ISelectionProvider의 필수 멤버
  • 예외
  • 관련 항목

구현 지침 및 규칙

Selection 컨트롤 패턴을 구현하는 경우 다음 지침 및 규칙을 따르십시오.

  • ISelectionProvider를 구현하는 컨트롤에서는 선택할 수 있는 자식 항목을 한 개 또는 여러 개 허용합니다. 예를 들어 목록 상자, 목록 뷰 및 트리 뷰에서는 여러 개의 선택 항목을 지원하고 콤보 상자, 슬라이더 및 라디오 단추 그룹에서는 단일 선택 항목을 지원합니다.

  • 볼륨 슬라이더 컨트롤과 같이 최소, 최대 및 연속 범위가 있는 컨트롤은 ISelectionProvider 대신 IRangeValueProvider를 구현해야 합니다.

  • 디스플레이 속성 대화 상자의 화면 해상도 슬라이더 또는 Microsoft Word의 색 선택 선택 컨트롤(아래 그림 참조)과 같이 IRawElementProviderFragmentRoot를 구현하는 자식 컨트롤을 관리하는 단일 선택 컨트롤은 ISelectionProvider를 구현해야 하고 이 컨트롤의 자식 항목은 IRawElementProviderFragmentISelectionItemProvider를 모두 구현해야 합니다.

색 견본 문자열 매핑의 예

노란색이 강조 표시된 색 선택

  • 메뉴에서는 SelectionPattern을 지원하지 않습니다. 그래픽과 텍스트를 모두 포함하는 메뉴 항목(예: Microsoft Outlook의 보기 메뉴에 있는 미리 보기 창)을 사용하는 경우 상태를 전달하려면 IToggleProvider를 구현해야 합니다.

ISelectionProvider의 필수 멤버

ISelectionProvider 인터페이스 구현에 필요한 속성, 메서드 및 이벤트는 다음과 같습니다.

필수 멤버

형식

참고

CanSelectMultiple

Property

AddAutomationPropertyChangedEventHandlerRemoveAutomationPropertyChangedEventHandler를 사용하여 속성 변경 이벤트를 지원해야 합니다.

IsSelectionRequired

Property

AddAutomationPropertyChangedEventHandlerRemoveAutomationPropertyChangedEventHandler를 사용하여 속성 변경 이벤트를 지원해야 합니다.

GetSelection

메서드

없음

InvalidatedEvent

Event

컨테이너 내의 선택이 크게 변경되어 InvalidateLimit 상수가 허용하는 것보다 많은 추가 및 제거 이벤트를 전송해야 하는 경우 발생합니다.

IsSelectionRequiredCanSelectMultiple 속성은 동적일 수 있습니다. 예를 들어 컨트롤의 초기 상태에서 기본적으로 선택된 항목이 없을 수 있으며 이는 IsSelectionRequired가 false임을 의미합니다. 그러나 항목이 선택된 후에는 컨트롤에 선택된 항목이 항상 적어도 하나 이상 있어야 합니다. 드문 경우이긴 하지만 비슷한 예로, 초기화할 때 컨트롤에서 여러 항목을 선택할 수 있지만 나중에는 단일 선택만이 가능한 경우도 있습니다.

예외

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

예외 형식

조건

ElementNotEnabledException

컨트롤을 사용할 수 없는 경우

InvalidOperationException

컨트롤이 숨겨진 경우

참고 항목

작업

UI 자동화 공급자의 컨트롤 패턴 지원

UI 자동화의 캐싱 사용

개념

UI 자동화 컨트롤 패턴 개요

클라이언트용 UI 자동화 컨트롤 패턴

UI 자동화 SelectionItem 컨트롤 패턴 구현

UI 자동화 트리 개요