Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Замечание
Эта документация предназначена для разработчиков .NET Framework, которые хотят использовать управляемые классы автоматизации пользовательского интерфейса, определенные в пространстве имен System.Windows.Automation. Последние сведения об автоматизации пользовательского интерфейса см. в разделе API автоматизации Windows: автоматизация пользовательского интерфейса.
В этом разделе приводятся рекомендации и соглашения по реализации IValueProvider, а также сведения о событиях и свойствах. Ссылки на дополнительные ссылки перечислены в конце раздела.
Шаблон ValuePattern элемента управления используется для поддержки элементов управления, имеющих встроенное значение, не охватывающее диапазон, и которое может быть представлено как строка. Эта строка может быть редактируемой в зависимости от элемента управления и его параметров. Примеры элементов управления, реализующих этот шаблон, см. в разделе "Сопоставление шаблонов элементов управления" для клиентов автоматизации пользовательского интерфейса.
Рекомендации по реализации и соглашения
При реализации шаблона элемента управления "Значение" обратите внимание на следующие рекомендации и соглашения:
- Такие элементы управления, как ListItem и TreeItem должны поддерживаться ValuePattern , если значение любого из элементов можно изменить независимо от текущего режима редактирования элемента управления. Родительский элемент управления должен поддерживать ValuePattern, если дочерние элементы можно редактировать.
Пример редактируемого элемента списка
Элементы управления редактированием в одной строке поддерживают программный доступ к содержимому путем реализации IValueProvider. Однако многострочные элементы управления редактированием не реализуют IValueProvider; вместо этого они предоставляют доступ к своему содержимому, реализуя ITextProvider.
Чтобы получить текстовое содержимое многострочного элемента управления редактирования, элемент управления должен реализовать ITextProvider. ITextProvider Однако не поддерживает настройку значения элемента управления.
IValueProvider не поддерживает получение сведений о форматировании или значений подстроки. Реализуйте ITextProvider в этих сценариях.
IValueProvider должен быть реализован элементами управления, такими как элемент управления выбора цвета из Microsoft Word (иллюстрированный ниже), который поддерживает сопоставление строк между значением цвета (например, желтым) и эквивалентной внутренней структурой RGB.
Пример сопоставления строк образца цвета
- Перед тем как разрешить вызов, элемент управления должен иметь IsEnabledProperty, установленный на
true
, и IsReadOnlyProperty, установленный наfalse
, прежде чем вызвать SetValue.
Обязательные члены для IValueProvider
Для реализации IValueProviderнеобходимы следующие свойства и методы.
Обязательные участники | Тип участника | Примечания. |
---|---|---|
IsReadOnlyProperty | Недвижимость | Отсутствует |
ValueProperty | Недвижимость | Отсутствует |
SetValue | Метод | Отсутствует |
Исключения
Поставщики должны генерировать следующие исключения.
Тип исключения | Состояние |
---|---|
InvalidOperationException | SetValue — Если сведения о языковом стандарте передаются элементу управления в неправильном формате, например в неправильно отформатированную дату. |
ArgumentException | SetValue — Если новое значение нельзя преобразовать из строки в формат, распознаваемый элементом управления. |
ElementNotEnabledException | SetValue — При попытке управлять элементом управления, который не включен. |
См. также
- Обзор шаблонов управления автоматизацией пользовательского интерфейса
- Поддержка шаблонов управления в поставщике автоматизации пользовательского интерфейса
- Шаблоны элементов управления автоматизации пользовательского интерфейса для клиентов
- Образец вставки текста ValuePattern
- Обзор дерева автоматизации пользовательского интерфейса
- Использование кэширования в автоматизации пользовательского интерфейса