Поделиться через


Реализация шаблона управления значениями автоматизации пользовательского интерфейса

Замечание

Эта документация предназначена для разработчиков .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

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

См. также