Поддержка модели автоматизации пользовательского интерфейса для элемента управления "Список"
Примечание |
---|
Эта документация предназначена для разработчиков на платформе .NET Framework, которым требуется использовать управляемые классы UI Automation, определенные в пространстве имен System.Windows.Automation.Последние сведения о UI Automation см. на веб-странице Windows Automation API: UI Automation. |
В этом разделе содержатся сведения о поддержке моделью UI Automation элемента управления типа List. В UI Automation тип элемента управления представляет собой набор условий, которым должен удовлетворять элемент управления, чтобы использовать свойство ControlTypeProperty. К этим условиям относятся конкретные правила для древовидной структуры UI Automation, значений свойств UI Automation и шаблонов элементов управления.
Тип элемента управления "Список" обеспечивает способ организации плоской группы или группы элементов и позволяет пользователю выбрать один или несколько этих элементов. Тип элемента управления "Список" не имеет ограничений на то, какие дочерние элементы он может содержать. Это позволяет поставщикам модели автоматизации пользовательского интерфейса поддерживать известные элементы для контейнеров выбора.
Требования к UI Automation, представленные в следующих разделах, относятся ко всем элементам управления, которые реализуют тип элемента управления "Список", независимо от приложения Windows Presentation Foundation (WPF), Win32 или Windows Forms. Элементы управления контейнера "Список" являются примерами элементов управления, которые реализуют тип элемента управления "Список".
В этом разделе содержатся следующие подразделы.
- Обязательная древовидная структура модели автоматизации пользовательского интерфейса
- Обязательные свойства модели автоматизации пользовательского интерфейса
- Обязательные шаблоны и свойства элементов управления модели автоматизации пользовательского интерфейса
- Обязательные события автоматизации пользовательского интерфейса
- Связанные разделы
Обязательная древовидная структура модели автоматизации пользовательского интерфейса
В следующей таблице показано два представления дерева UI Automation, относящиеся к элементам управления списка, и описывается то, что может содержаться в каждом представлении. Представлением элемента управления содержит только те элементы, которые являются элементами управления, а представление содержимого удаляет избыточные сведения из дерева. Например, текстовое поле используется для подписи поля со списком, которое будет предоставлено в качестве ComboBox NameProperty. Поскольку текстовое поле уже предоставляется через представление элемента управления, нет необходимости предоставлять его дважды; поэтому оно удаляется из содержимого представления. Дополнительные сведения о дереве UI Automation см. в разделе Общие сведения о дереве модели автоматизации пользовательского интерфейса.
Представление элемента управления |
Представление содержимого |
---|---|
Содержит элементы, соответствующие элементам управления. |
Удаляет избыточные сведения из дерева, чтобы вспомогательные технологии работали с наименьшим набором значимой информации для конечного пользователя. |
Список
|
Список
|
Представление элемента управления для элемента управления, который реализует тип элемента управления List (например элемент управления списка) состоит из:
Ноль или более элементов в элементе управления списка (элементы могут быть основаны на типах элементов управления "Список" Item или Data Item)
Ноль или более элементов управления group внутри элемента управления списка
Ноль, одна или две области прокрутки
Представление элемента управления, которое реализует тип элемента управления "Список" (например элемент управления списка) состоит из:
Ноль или более элементов в элементе управления списка (элементы могут быть основаны на типах элементов управления "Список" Item или Data Item)
Ноль или несколько групп в элементе управления списка
Элемент управления списка не должен иметь элементы, которые имеют иерархическую структуру отношений, кроме тех, которые сгруппированы вместе. Если элементы имеют дочерние узлы в дереве UI Automation, то контейнер списка должен основываться на древовидном типе элемента управления.
Выбираемые элементы в элементе управления списка будут доступны из потомков в дереве UI Automation элемента управления списка. Все элементы в элементе управления списка должны принадлежать той же группе выбора. Выбираемые элементы списка должны быть предоставлены как типы элемента управления ListItem (вместо DataItem).
Обязательные свойства модели автоматизации пользовательского интерфейса
В следующей таблице перечислены свойства UI Automation, значение или определение которых относится к элементам управления списка. Дополнительные сведения о свойствах UI Automation см. в разделе Свойства автоматизации пользовательского интерфейса для клиентов.
Свойство UI Automation |
Значение |
Примечания |
---|---|---|
См. примечания. |
Значение этого свойства должно быть уникальным для каждого элемента управления в приложении. |
|
См. примечания. |
Внешний прямоугольник, содержащий весь элемент управления. |
|
См. примечания. |
Если элемент управления списка имеет выбираемую при нажатии точку (точка, которая может быть нажата, чтобы выделить список), то эта точка должна предоставляться через это свойство. Если значение свойства IsOffScreen — "true", то будет вызван NoClickablePointException. |
|
См. примечания. |
Если элемент управления может получать фокус ввода с клавиатуры, он должен поддерживать это свойство. |
|
См. примечания. |
Значение свойства Name элемента управления списка должно передавать категории параметров, которые пользователь запрашивает для выбора. Это свойство обычно получает имя из статической текстовой метки. Если статической текстовой метки нет, разработчик приложения должен предоставить значение для свойства Name. Данное свойство не является необходимым для элементов управления списка только в том случае, если элемент управления используется в поддереве для другого элемента управления. |
|
См. примечания. |
При наличии статической текстовой подписи это свойство должно предоставлять ссылку на этот элемент управления. |
|
Список |
Это значение одинаково для всех структур пользовательского интерфейса. |
|
"list" |
Локализованная строка, соответствующая типу элемента управления "Список". |
|
True |
Элемент управления списка всегда включается в представление элементов управления дерева UI Automation. |
|
True |
Элемент управления списка всегда включается в представление элементов управления дерева UI Automation. |
|
True |
Если контейнер может принимать ввод с клавиатуры, то значение этого свойства должно быть true. |
|
См. примечания. |
Текст справки для элементов управления списка должен объяснять, почему пользователя просят сделать выбор из списка параметров. Например: "Выбор элемента из этого списка установит разрешение экрана для вашего монитора". |
Обязательные шаблоны и свойства элементов управления модели автоматизации пользовательского интерфейса
В следующей таблице перечислены шаблоны элементов управления UI Automation, требующие поддержки элементов управления списка. Дополнительные сведения о шаблонах элементов управления см. в разделе Общие сведения о шаблонах элементов управления модели автоматизации пользовательского интерфейса.
Шаблон элемента управления/свойство шаблона |
Поддержка/значение |
Примечания |
---|---|---|
Обязательно |
Все элементы управления, которые поддерживают типа элемента управления "Список", должны реализовывать ISelectionProvider, когда состояние выделения удерживается между элементами, содержащимися в элементе управления. Если элементы внутри контейнера не могут быть выделены, должен использоваться тип элемента управления Group. |
|
Зависит от конкретного случая |
Элемент управления "Список" не всегда требуется для выбора элемента. |
|
Зависит от конкретного случая |
Элемент управления "Список" может быть с одинарным или множественным выбором. |
|
Зависит от конкретного случая |
Реализуйте этот шаблон элемента управления, если элементы в контейнере являются прокручиваемыми. |
|
Зависит от конкретного случая |
Реализуйте этот шаблон, когда навигация Grid должна быть доступна в элементе по элементной основе. |
|
Зависит от конкретного случая |
Реализуйте этот шаблон элемента управления, если элемент управления может поддерживать несколько представлений элементов в контейнере. |
|
Никогда |
ITableProvider никогда не поддерживается для типа элемента управления "Список". Если элемент управления должен поддерживать данный шаблон, элемент управления должен базироваться на типе элемента управления Grid. |
Обязательные события автоматизации пользовательского интерфейса
В следующей таблице перечислены события UI Automation, которые должны поддерживаться всеми элементами управления списка. Дополнительные сведения о событиях см. в разделе Обзор событий автоматизации пользовательского интерфейса.
Событие UI Automation |
Поддержка/значение |
Примечания |
---|---|---|
Зависит от конкретного случая |
Нет |
|
Зависит от конкретного случая |
Нет |
|
Событие, изменяемое свойством BoundingRectangleProperty. |
Обязательно |
Нет |
Событие, изменяемое свойством IsOffscreenProperty. |
Требуется |
Нет |
Событие, изменяемое свойством IsEnabledProperty. |
Требуется |
Нет |
Событие, изменяемое свойством CurrentViewProperty. |
Зависит от конкретного случая |
Нет |
Событие, изменяемое свойством HorizontallyScrollableProperty. |
Зависит от конкретного случая |
Нет |
Событие, изменяемое свойством HorizontalScrollPercentProperty. |
Зависит от конкретного случая |
Нет |
Событие, изменяемое свойством HorizontalViewSizeProperty. |
Зависит от конкретного случая |
Нет |
Событие, изменяемое свойством VerticalScrollPercentProperty. |
Зависит от конкретного случая |
Нет |
Событие, изменяемое свойством VerticallyScrollableProperty. |
Зависит от конкретного случая |
Нет |
Событие, изменяемое свойством VerticalViewSizeProperty. |
Зависит от конкретного случая |
Нет |
Обязательно |
Нет |
|
Обязательно |
Нет |
См. также
Ссылки
Основные понятия
Общие сведения о типах элементов управления автоматизации пользовательского интерфейса
Общие сведения о модели автоматизации пользовательского интерфейса