UI 自动化对 Pane 控件类型的支持

注释

本文档适用于想要使用 System.Windows.Automation 命名空间中定义的托管 UI 自动化类的 .NET Framework 开发人员。 有关 UI 自动化的最新信息,请参阅 Windows 自动化 API:UI 自动化

本主题提供有关窗格控件类型的 UI 自动化支持的信息。 在 UI 自动化中,控件类型是控件为了使用属性 ControlTypeProperty 而必须满足的一组条件。 这些条件包括 UI 自动化树结构、UI 自动化属性值和控件模式的特定准则。

窗格控件类型用于表示框架或文档窗口中的对象。 用户可以在窗格控件和当前窗格的内容之间导航,但不能在不同的窗格中的项之间导航。 因此,窗格控件表示分组级别低于窗口或文档,但高于单个控件。 用户通过按 Tab、F6 或 Ctrl+Tab 在窗格之间导航,具体取决于上下文。 窗格控件类型没有要求特定的键盘导航。

以下部分定义窗格控件类型的所需 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 自动化控件模式概述

控件模式 支持 注释
ITransformProvider 取决于 如果窗格控件可以在屏幕上移动、调整大小或旋转,则实现此控件模式。
IWindowProvider 从不 如果需要实现此控件模式,则控件应基于 Window 控件类型。
IDockProvider 取决于 如果窗格控件可以停靠,则实现此控件模式。
IScrollProvider 取决于 如果窗格控件可以滚动,则实现此控件模式。

所需的 UI 自动化事件

下表列出了所有窗格控件支持的 UI 自动化事件。 有关事件的详细信息,请参阅 UI 自动化事件概述

UI 自动化事件 支持/值 注释
WindowClosedEvent 从不 没有
WindowOpenedEvent 从不 没有
AsyncContentLoadedEvent 必选 没有
BoundingRectangleProperty 属性更改事件。 必选 没有
IsOffscreenProperty 属性更改事件。 必选 没有
IsEnabledProperty 属性更改事件。 必选 没有
HorizontallyScrollableProperty 属性更改事件。 取决于 没有
HorizontalScrollPercentProperty 属性更改事件。 取决于 没有
HorizontalViewSizeProperty 属性更改事件。 取决于 没有
VerticalScrollPercentProperty 属性更改事件。 取决于 没有
VerticallyScrollableProperty 属性更改事件。 取决于 没有
VerticalViewSizeProperty 属性更改事件。 取决于 没有
WindowVisualStateProperty 属性更改事件。 从不 没有
AutomationFocusChangedEvent 必选 没有
StructureChangedEvent 必选 没有

窗格控件类型示例

下图演示了实现 Pane 控件类型的控件。

包含两个窗格uiauto_pane小程序窗口的屏幕截图

UI 自动化树 - 控件视图 UI 自动化树 - 内容视图
  • 面板
  • 树 (滚动模式)

    • TreeItem
    • 面板
    • 编辑 (滚动模式)
- 窗格
- 树(滚动模式)
- TreeItem
- 窗格
- 编辑
- (滚动图案)

另请参阅