비고
이 설명서는 System.Windows.Automation 네임스페이스에 정의된 관리되는 UI 자동화 클래스를 사용하려는 .NET Framework 개발자를 위한 것입니다. UI 자동화에 대한 최신 정보는 Windows Automation API: UI 자동화참조하세요.
이 항목에서는 이벤트 및 속성에 대한 정보를 포함하여 구현하기 ISelectionProvider위한 지침과 규칙을 소개합니다. 추가 참조에 대한 링크는 항목 끝에 나열되어 있습니다.
SelectionPattern 컨트롤 패턴은 선택 가능한 자식 항목 컬렉션의 컨테이너 역할을 하는 컨트롤을 지원하는 데 사용됩니다. 이 요소의 자식은 ISelectionItemProvider를 구현해야 합니다. 이 컨트롤 패턴을 구현하는 컨트롤의 예제는 UI 자동화 클라이언트 대한컨트롤 패턴 매핑을 참조하세요.
구현 지침 및 규칙
선택 컨트롤 패턴을 구현할 때 다음 지침 및 규칙을 확인합니다.
구현 ISelectionProvider 하는 컨트롤은 단일 또는 여러 자식 항목을 선택할 수 있도록 허용합니다. 예를 들어 목록 상자, 목록 보기 및 트리 뷰는 여러 선택을 지원하는 반면 콤보 상자, 슬라이더 및 라디오 단추 그룹은 단일 선택을 지원합니다.
볼륨 슬라이더 컨트롤과 같이 최소, 최대 및 연속 범위가 있는 컨트롤은 IRangeValueProvider 대신 ISelectionProvider을 구현해야 합니다.
IRawElementProviderFragmentRoot 대화 상자의 화면 해상도 슬라이더 또는 Microsoft Word의 색 선택 컨트롤(아래 그림 참조)과 같이 을(를) 구현하는 자식 컨트롤을 관리하는 단일 선택 제어는 ISelectionProvider을 구현해야 합니다. 자식 컨트롤은 IRawElementProviderFragment 및 ISelectionItemProvider를 둘 다 구현해야 합니다.
색 견본 문자열 매핑의 예
- 메뉴는 SelectionPattern을 지원하지 않습니다. 그래픽과 텍스트가 모두 포함된 메뉴 항목(예: Microsoft Outlook의 보기 메뉴에 있는 미리 보기 창 항목)을 사용하고 상태를 전달해야 하는 경우 구현IToggleProvider해야 합니다.
ISelectionProvider에 필요한 멤버
인터페이스에는 다음과 같은 속성, 메서드 및 이벤트가 필요합니다 ISelectionProvider .
필수 멤버 | 유형 | 비고 |
---|---|---|
CanSelectMultiple | 재산 | AddAutomationPropertyChangedEventHandler를 사용하여 속성 변경 이벤트를 지원해야 합니다RemoveAutomationPropertyChangedEventHandler. |
IsSelectionRequired | 재산 | AddAutomationPropertyChangedEventHandler를 사용하여 속성 변경 이벤트를 지원해야 합니다RemoveAutomationPropertyChangedEventHandler. |
GetSelection | 메서드 | 없음 |
InvalidatedEvent | 이벤트 | 컨테이너의 선택 영역이 크게 변경되고 상수 허용보다 InvalidateLimit 더 많은 추가 및 제거 이벤트를 보내야 할 때 발생합니다. |
IsSelectionRequired 및 CanSelectMultiple 속성은 동적일 수 있습니다. 예를 들어, 컨트롤의 초기 상태에는 기본적으로 IsSelectionRequired이 false
을 의미하는 선택된 항목이 없을 수 있습니다. 그러나 항목을 선택한 후에는 컨트롤에 항상 하나 이상의 항목이 선택되어 있어야 합니다. 마찬가지로, 드문 경우지만 컨트롤을 사용하면 초기화 시 여러 항목을 선택할 수 있지만 이후에는 단일 항목만 선택할 수 있습니다.
예외
공급자는 다음 예외를 반드시 throw해야 합니다.
예외 유형 | 조건 |
---|---|
ElementNotEnabledException | 컨트롤을 사용하도록 설정하지 않은 경우 |
InvalidOperationException | 컨트롤이 숨겨져 있는 경우 |