다음을 통해 공유


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

참고 항목

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

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

ValuePattern 컨트롤 패턴는 범위에 걸쳐 있지 않은 내장 값이 있고 문자열로 나타낼 수 있는 컨트롤을 지원하는 데 사용됩니다. 이 문자열은 컨트롤 및 해당 설정에 따라 편집할 수 있습니다. 이 패턴을 구현하는 컨트롤의 예제를 보려면 Control Pattern Mapping for UI Automation Clients을 참조하세요.

구현 지침 및 규칙

Value 컨트롤 패턴을 구현할 때는 다음 지침 및 규칙에 유의하세요.

  • ListItemTreeItem 과 같은 컨트롤은 항목이 편집 가능한 경우 컨트롤의 현재 편집 모드와 관계 없이 ValuePattern 을 지원해야 합니다. 자식 항목이 편집 가능한 경우 부모 컨트롤이 ValuePattern 도 지원해야 합니다.

편집 가능한 목록 항목입니다. 편집 가능한 목록 항목의 예

  • 단일 줄 편집 컨트롤은 IValueProvider를 구현하여 해당 내용에 대한 프로그래밍 방식 액세스를 제공합니다. 하지만 여러 줄 편집 컨트롤은 IValueProvider를 구현하지 않습니다. 대신, ITextProvider를 구현하여 내용에 대한 액세스를 제공합니다.

  • 여러 줄 편집 컨트롤의 텍스트 내용을 검색하려면 컨트롤이 ITextProvider를 구현해야 합니다. 하지만 ITextProvider는 컨트롤의 값 설정을 지원하지 않습니다.

  • IValueProvider는 서식 정보 및 하위 문자열 값 검색을 지원하지 않습니다. 이러한 시나리오에서는 ITextProvider를 구현합니다.

  • IValueProvider는 색 값(예: "노란색") 및 해당되는 내부 RGB 구조 간의 문자열 매핑을 지원하는 Microsoft Word의 색 선택 선택 항목 컨트롤과 같은(아래 그림 참조) 컨트롤이 구현해야 합니다.

노란색이 강조 표시된 색 편집기. 색 견본 문자열 매핑의 예

IValueProvider에 필요한 멤버

IValueProvider를 구현하려면 다음과 같은 속성 및 메서드가 필요합니다.

필수 멤버 멤버 형식 주의
IsReadOnlyProperty 속성 None
ValueProperty 속성 None
SetValue 메서드 None

예외

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

예외 종류 조건
InvalidOperationException SetValue

- 로캘 관련 정보가 잘못된 형식(예: 올바르지 않은 형식의 날짜)으로 컨트롤에 전달되는 경우
ArgumentException SetValue

- 새 값을 문자열에서 컨트롤이 인식하는 형식으로 변환할 수 없는 경우
ElementNotEnabledException SetValue

- 활성화되지 않은 컨트롤을 조작하려고 시도하는 경우

참고 항목