Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Примечание.
Эта документация предназначена для разработчиков .NET Framework, желающих использовать управляемые классы автоматизации пользовательского интерфейса, определенные в пространстве имен System.Windows.Automation. Последние сведения об автоматизации пользовательского интерфейса см. в статье API автоматизации Windows. Автоматизация пользовательского интерфейса.
В этой статье приводятся рекомендации и конвенции по реализации IScrollProvider, включая информацию о событиях и свойствах. Ссылки на дополнительные материалы перечислены в конце раздела.
Шаблон элемента управления ScrollPattern используется для поддержки элемента управления, который выступает в качестве прокручиваемого контейнера для коллекции дочерних объектов. Этому элементу управления не обязательно использовать полосы прокрутки для поддержки функции прокрутки, хотя обычно это делается.
Пример элемента управления прокрутки, который не использует полосы прокрутки
Примеры элементов управления, реализующих данный шаблон элемента управления, см. в разделе Control Pattern Mapping for UI Automation Clients.
Правила и соглашения реализации
При реализации шаблона элемента управления 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 | Способ | нет |
Этот шаблон элемента управления не имеет связанных событий.
Исключения
Поставщики должны выбрасывать следующие исключения.
| Тип исключения | Состояние |
|---|---|
| ArgumentException | МетодScroll вызывает данное исключение, если элемент управления поддерживает значения SmallIncrement исключительно для горизонтальной или вертикальной прокрутки, но передано значение LargeIncrement . |
| ArgumentException | МетодSetScrollPercent вызывает данное исключение, если передается значение, которое невозможно преобразовать к типу double. |
| ArgumentOutOfRangeException | МетодSetScrollPercent создает исключение, если переданное значение меньше 0 или больше 100 (за исключением -1, что эквивалентно NoScroll). |
| InvalidOperationException | Оба метода, Scroll и SetScrollPercent , вызывают это исключение при попытке прокрутки в неподдерживаемом направлении. |
См. также
- Общие сведения о шаблонах управления автоматизации пользовательского интерфейса
- Поддержка шаблонов элементов управления в поставщике автоматизации пользовательского интерфейса
- Шаблоны управления автоматизацией пользовательского интерфейса для программ-клиентов
- Общие сведения о дереве модели автоматизации пользовательского интерфейса
- Использование кэширования в модели автоматизации пользовательского интерфейса