Реализация шаблона элемента управления 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

— При попытке управлять элементом управления, который не включен.

См. также