비고
이 설명서는 System.Windows.Automation 네임스페이스에 정의된 관리되는 UI 자동화 클래스를 사용하려는 .NET Framework 개발자를 위한 것입니다. UI 자동화에 대한 최신 정보는 Windows Automation API: UI 자동화참조하세요.
이 항목에서는 이벤트 및 속성에 대한 정보를 포함하여 구현하기 IValueProvider위한 지침과 규칙을 소개합니다. 추가 참조에 대한 링크는 항목 끝에 나열되어 있습니다.
ValuePattern 컨트롤 패턴은 범위에 걸쳐 있지 않고 문자열로 나타낼 수 있는 내장 값이 있는 컨트롤을 지원하는 데 사용됩니다. 컨트롤 및 해당 설정에 따라 이 문자열을 편집할 수 있습니다. 이 패턴을 구현하는 컨트롤의 예제는 UI 자동화 클라이언트에 대한 컨트롤 패턴 매핑을 참조하세요.
구현 지침 및 규칙
값 컨트롤 패턴을 구현할 때 다음 지침 및 규칙에 유의하세요.
- ListItem 및 TreeItem과 같은 컨트롤은 항목의 값이 편집 가능하다면, 현재 컨트롤의 편집 모드와 관계없이 ValuePattern를 지원해야 합니다. 자식 항목이 편집 가능할 경우, 부모 컨트롤도 ValuePattern을 지원해야 합니다.
편집 가능한 목록 항목의 예
한 줄 편집 컨트롤은 자체 구현을 통해 콘텐츠에 프로그래밍 방식으로 액세스할 수 있도록 지원합니다 IValueProvider. 그러나 여러 줄 편집 컨트롤은 IValueProvider을(를) 구현하지 않습니다. 대신 ITextProvider을(를) 구현하여 콘텐츠에 대한 액세스를 제공합니다.
여러 줄 편집 컨트롤의 텍스트 내용을 검색하려면 컨트롤이 ITextProvider을 구현해야 합니다. 그러나 ITextProvider 컨트롤의 값 설정은 지원하지 않습니다.
IValueProvider 에서는 서식 지정 정보 또는 부분 문자열 값 검색을 지원하지 않습니다. 이러한 시나리오에서 구현 ITextProvider 합니다.
IValueProvider 는 색 값(예: "노란색")과 해당하는 내부 RGB 구조 간의 문자열 매핑을 지원하는 Microsoft Word의 색 선택 선택 컨트롤(아래 그림 참조)과 같은 컨트롤에 의해 구현되어야 합니다.
색 견본 문자열 매핑의 예
- 호출을 허용하기 전에 컨트롤은 IsEnabledProperty을
true
로 설정하고 IsReadOnlyProperty를false
로 설정해야 합니다.
IValueProvider에 필요한 멤버
구현 IValueProvider하려면 다음 속성과 메서드가 필요합니다.
필수 멤버 | 멤버 형식 | 비고 |
---|---|---|
IsReadOnlyProperty | 재산 | 없음 |
ValueProperty | 재산 | 없음 |
SetValue | 메서드 | 없음 |
예외
공급자는 다음 예외를 반드시 throw해야 합니다.
예외 유형 | 조건 |
---|---|
InvalidOperationException | SetValue - 로캘 관련 정보가 잘못된 형식(예: 잘못된 형식의 날짜)으로 컨트롤에 전달되는 경우 |
ArgumentException | SetValue - 새 값을 문자열에서 컨트롤이 인식하는 형식으로 변환할 수 없는 경우 |
ElementNotEnabledException | SetValue - 사용하도록 설정되지 않은 컨트롤을 조작하려고 시도하는 경우 |