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