注释
本文档适用于想要使用 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 控件类型的控件。
UI 自动化树 - 控件视图 | UI 自动化树 - 内容视图 |
---|---|
|
- 窗格 - 树(滚动模式) - TreeItem - 窗格 - 编辑 - (滚动图案) |