UI 自动化对 Pane 控件类型的支持
备注
本文档适用于想要使用 System.Windows.Automation 命名空间中定义的托管 UI 自动化类的 .NET Framework 开发人员。 有关 UI 自动化的最新信息,请参阅 Windows 自动化 API:UI 自动化。
本主题介绍 UI 自动化对 Pane 控件类型的支持。 在 UI 自动化中,控件类型是一组条件,控件必须满足这些条件才能使用 ControlTypeProperty 属性。 这些条件包括针对 UI 自动化树结构、UI 自动化属性值和控件模式的特定准则。
窗格控件类型用于表示框架或文档窗口中的对象。 用户可以在窗格控件之间以及当前窗格的内容中进行导航,但不能在不同窗格的项之间导航。 因此,窗格控件表示低于窗口或文档,但高于单个控件的分组级别。 用户通过按 TAB、F6、或 CTRL + TAB 在窗格间导航,具体取决于上下文。 窗格控件类型没有要求特定的键盘导航。
以下章节定义 Pane 控件类型必需的 UI 自动化树结构、属性、控件模式和事件。 UI 自动化要求适用于所有列表控件,无论 Windows Presentation Foundation (WPF)、Win32 还是 Windows 窗体。
必需的 UI 自动化树结构
下表描述与窗格控件有关的 UI 自动化树的控件视图和内容视图,以及每个视图中可包含的内容。 有关 UI 自动化树的详细信息,请参阅 UI 自动化树概述。
控件视图 | 内容视图 |
---|---|
窗格 | 窗格 |
必需的 UI 自动化属性
下表列出值或定义与窗格控件特别相关的 UI 自动化属性。 有关 UI 自动化属性的详细信息,请参阅客户端的 UI 自动化属性。
UI 自动化属性 | 值 | 说明 |
---|---|---|
AutomationIdProperty | 请参阅注释。 | 此属性的值在应用程序的所有控件中都必须保持唯一。 |
BoundingRectangleProperty | 请参阅注释。 | 包含整个控件的最外层矩形。 |
IsKeyboardFocusableProperty | 请参阅注释。 | 如果该控件可以接收键盘焦点,则它必须支持此属性。 |
NameProperty | 请参阅注释。 | 此属性的值必须始终为清晰、简洁而有意义的标题。 |
ClickablePointProperty | 请参阅注释。 | 此属性公开窗格的可单击点,单击时可使窗格成为焦点。 |
LabeledByProperty | 请参阅注释。 | 窗格控件通常不具有静态标签。 如果没有静态文本标签,则它应通过此属性公开。 |
ControlTypeProperty | 窗格 | 此值对于所有 UI 框架均相同。 |
LocalizedControlTypeProperty | “窗格” | 与窗格控件类型相对应的已本地化字符串。 |
IsContentElementProperty | 正确 | 窗格控件始终包含在 UI 自动化树的内容视图中。 |
IsControlElementProperty | 正确 | 窗格控件始终包含在 UI 自动化树的控件视图中。 |
HelpTextProperty | "" | 窗格控件的帮助文本应解释框架的目的以及其如何与其他框架相关。 如果框架目的及联系与 NameProperty 值相左,则需解释。 " |
AccessKeyProperty | 请参阅注释。 | 如果特定的键组合让窗格成为焦点,则该信息应通过此属性公开。 |
必需的 UI 自动化控件模式
下表列出需要所有窗格控件支持的 UI 自动化控件模式。 有关控件模式的详细信息,请参阅 UI Automation Control Patterns Overview。
控件模式 | 支持 | 说明 |
---|---|---|
ITransformProvider | 依赖的对象 | 如果窗格控件可以移动、调整大小或在屏幕上旋转,则实现此控件模式。 |
IWindowProvider | 从不 | 如果你需要实现此控件模式,则你的控件应基于 Window 控件类型。 |
IDockProvider | 依赖的对象 | 如果窗格控件可以停靠,则实现此控件模式。 |
IScrollProvider | 依赖的对象 | 如果窗格控件可以滚动,则实现此控件模式。 |
必需的 UI 自动化事件
下表列出需要所有窗格控件支持的 UI 自动化事件。 有关事件的详细信息,请参阅 F:System.Windows.Automation.AutomationElementIdentifiers.IsEnabledProperty。
UI 自动化事件 | 支持/值 | 备注 |
---|---|---|
WindowClosedEvent | 从不 | 无 |
WindowOpenedEvent | 从不 | 无 |
AsyncContentLoadedEvent | 必须 | 无 |
BoundingRectangleProperty 属性更改事件。 | 必需 | 无 |
IsOffscreenProperty 属性更改事件。 | 必需 | 无 |
IsEnabledProperty 属性更改事件。 | 必需 | 无 |
HorizontallyScrollableProperty 属性更改事件。 | 依赖的对象 | 无 |
HorizontalScrollPercentProperty 属性更改事件。 | 依赖的对象 | 无 |
HorizontalViewSizeProperty 属性更改事件。 | 依赖的对象 | 无 |
VerticalScrollPercentProperty 属性更改事件。 | 依赖的对象 | 无 |
VerticallyScrollableProperty 属性更改事件。 | 依赖的对象 | 无 |
VerticalViewSizeProperty 属性更改事件。 | 依赖的对象 | 无 |
WindowVisualStateProperty 属性更改事件。 | 从不 | 无 |
AutomationFocusChangedEvent | 必须 | 无 |
StructureChangedEvent | 必须 | 无 |
窗格控件类型示例
下图阐释了实现窗格控件类型的控件。
UI 自动化树 - 控件视图 | UI 自动化树 - 内容视图 |
---|---|
|
- 窗格 - 树(滚动模式) - TreeItem - 窗格 - 编辑 -(滚动模式) |