다음을 통해 공유


UI 자동화 선택 컨트롤 패턴 구현

비고

이 설명서는 System.Windows.Automation 네임스페이스에 정의된 관리되는 UI 자동화 클래스를 사용하려는 .NET Framework 개발자를 위한 것입니다. UI 자동화에 대한 최신 정보는 Windows Automation API: UI 자동화참조하세요.

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

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

구현 지침 및 규칙

선택 컨트롤 패턴을 구현할 때 다음 지침 및 규칙을 확인합니다.

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

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

  • IRawElementProviderFragmentRoot 대화 상자의 화면 해상도 슬라이더 또는 Microsoft Word의 색 선택 컨트롤(아래 그림 참조)과 같이 을(를) 구현하는 자식 컨트롤을 관리하는 단일 선택 제어는 ISelectionProvider을 구현해야 합니다. 자식 컨트롤은 IRawElementProviderFragmentISelectionItemProvider를 둘 다 구현해야 합니다.

노란색이 강조 표시된 색 선택기입니다. 색 견본 문자열 매핑의 예

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

ISelectionProvider에 필요한 멤버

인터페이스에는 다음과 같은 속성, 메서드 및 이벤트가 필요합니다 ISelectionProvider .

필수 멤버 유형 비고
CanSelectMultiple 재산 AddAutomationPropertyChangedEventHandler를 사용하여 속성 변경 이벤트를 지원해야 합니다RemoveAutomationPropertyChangedEventHandler.
IsSelectionRequired 재산 AddAutomationPropertyChangedEventHandler를 사용하여 속성 변경 이벤트를 지원해야 합니다RemoveAutomationPropertyChangedEventHandler.
GetSelection 메서드 없음
InvalidatedEvent 이벤트 컨테이너의 선택 영역이 크게 변경되고 상수 허용보다 InvalidateLimit 더 많은 추가 및 제거 이벤트를 보내야 할 때 발생합니다.

IsSelectionRequiredCanSelectMultiple 속성은 동적일 수 있습니다. 예를 들어, 컨트롤의 초기 상태에는 기본적으로 IsSelectionRequiredfalse을 의미하는 선택된 항목이 없을 수 있습니다. 그러나 항목을 선택한 후에는 컨트롤에 항상 하나 이상의 항목이 선택되어 있어야 합니다. 마찬가지로, 드문 경우지만 컨트롤을 사용하면 초기화 시 여러 항목을 선택할 수 있지만 이후에는 단일 항목만 선택할 수 있습니다.

예외

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

예외 유형 조건
ElementNotEnabledException 컨트롤을 사용하도록 설정하지 않은 경우
InvalidOperationException 컨트롤이 숨겨져 있는 경우

참고하십시오