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


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

ПримечаниеПримечание

Эта документация предназначена для разработчиков на платформе .NET Framework, которым требуется использовать управляемые классы UI Automation, определенные в пространстве имен System.Windows.Automation.Последние сведения о UI Automation см. на веб-странице Windows Automation API: UI Automation.

В этом разделе рассматриваются правила и соглашения по реализации IScrollProvider, включая сведения о событиях и свойствах. Ссылки на дополнительные материалы перечислены в конце раздела.

Шаблон элемента управления ScrollPattern используется для поддержки элемента управления, выступающего в качестве прокручиваемого контейнера для коллекции дочерних объектов. Элементу управления не требуется использовать полосы прокрутки для поддержки функции прокрутки, хотя обычно требуется.

Пример элемента управления прокрутки, не использующего полосы прокрутки

Элемент управления прокруткой без полос прокрутки.

Примеры элементов управления, реализующих данный элемент управления, см. в разделе Сопоставление шаблона элемента управления для клиентов автоматизации пользовательского интерфейса.

В этом разделе содержатся следующие подразделы.

  • Правила и соглашения по реализации
  • Обязательные члены для IScrollProvider
  • Исключения
  • Связанные разделы

Правила и соглашения по реализации

При реализации шаблона элемента управления Scroll обратите внимание на следующие правила и соглашения.

  • Дочерние элементы данного элемента управления должны реализовывать интерфейс IScrollItemProvider.

  • Полосы прокрутки контейнерного элемента управления не поддерживают шаблон элемента управления ScrollPattern. Вместо этого они должны поддерживать шаблон элемента управления RangeValuePattern.

  • Поскольку прокрутка измеряется в процентах, все значения или величины, связанные с делением шкалы прокрутки, должны быть упорядочены в диапазоне от 0 до 100.

  • HorizontallyScrollableProperty и VerticallyScrollableProperty не зависят от IsEnabledProperty.

  • Если HorizontallyScrollableProperty = false, то HorizontalViewSizeProperty должно быть установлено в 100%, а HorizontalScrollPercentProperty должно быть установлено в NoScroll. Подобным образом, если VerticallyScrollableProperty = false, то VerticalViewSizeProperty должно быть установлено в 100%, а VerticalScrollPercentProperty должно быть установлено в NoScroll. Это позволяет клиенту автоматизации пользовательского интерфейса использовать эти значения свойств внутри метода SetScrollPercent, предотвращая состояния гонки, если клиент не заинтересован в активации прокрутки.

  • HorizontalScrollPercent зависит от языкового стандарта. Параметр HorizontalScrollPercent = 100.0 должен задавать расположение прокрутки элемента управления в эквивалент крайней правой позиции для языков (например, английского), в которых чтение производится слева направо. С другой стороны, для таких языков, как арабский, в которых чтение производится справа налево, установка HorizontalScrollPercent = 100.0 должна задавать расположение прокрутки в крайнюю левую позицию.

Обязательные члены для IScrollProvider

Для реализации IScrollProvider необходимы следующие свойства и методы.

Обязательный член

Тип члена

Примечания

HorizontalScrollPercent

Свойство

Нет

VerticalScrollPercent

Свойство

Нет

HorizontalViewSize

Свойство

Нет

VerticalViewSize

Свойство

Нет

HorizontallyScrollable

Свойство

Нет

VerticallyScrollable

Свойство

Нет

Scroll

Метод

Нет

SetScrollPercent

Метод

Нет

Данный шаблон элемента управления не имеет связанных событий.

Исключения

Поставщики должны вызывать следующие исключения.

Тип исключения

Атрибут Condition

ArgumentException

Scroll вызывает это исключение, если элемент управления поддерживает значения SmallIncrement исключительно для горизонтальной или вертикальной прокрутки, но передается значение LargeIncrement.

ArgumentException

SetScrollPercent вызывает это исключение, когда передаваемое значение не может быть удвоено.

ArgumentOutOfRangeException

SetScrollPercent вызывает это исключение, когда передаваемое значение больше 100 или меньше 0 (за исключением значения -1, которое эквивалентно NoScroll).

InvalidOperationException

Как Scroll, так и SetScrollPercent вызывают это исключение при попытке выполнить прокрутку в направлении, которое не поддерживается.

См. также

Задачи

Поддержка шаблонов элементов управления в поставщике модели автоматизации пользовательского интерфейса

Использование кэширования в модели автоматизации пользовательского интерфейса

Основные понятия

Общие сведения о шаблонах элементов управления модели автоматизации пользовательского интерфейса

Шаблоны элементов управления модели автоматизации пользовательского интерфейса для клиентов

Общие сведения о дереве модели автоматизации пользовательского интерфейса