注释
本文档适用于想要使用 System.Windows.Automation 命名空间中定义的托管 UI 自动化类的 .NET Framework 开发人员。 有关 UI 自动化的最新信息,请参阅 Windows 自动化 API:UI 自动化。
本主题提供有关窗口控件类型的 UI 自动化支持的信息。 在 UI 自动化中,控件类型是控件为了使用属性 ControlTypeProperty 而必须满足的一组条件。 这些条件包括 UI 自动化树结构、UI 自动化属性值和控件模式的特定准则。
窗口控件包含窗口框架,其中包含标题栏、客户端和其他对象等子对象。
以下部分中的 UI 自动化要求适用于实现窗口控件类型的所有控件,无论是 Windows Presentation Foundation (WPF)、Win32 还是 Windows 窗体。
必需的 UI 自动化树结构
下表描述了与窗口控件相关的 UI 自动化树的控件视图和内容视图,并描述了每个视图中可包含的内容。 有关 UI 自动化树的详细信息,请参阅 UI 自动化树概述。
控件视图 | 内容视图 |
---|---|
窗口 | 窗口 |
所需的 UI 自动化属性
下表列出了其值或定义与窗口控件特别相关的 UI 自动化属性。 有关 UI 自动化属性的详细信息,请参阅 客户端的 UI 自动化属性。
UI 自动化属性 | 价值 | 注释 |
---|---|---|
AutomationIdProperty | 请参阅备注。 | 此属性的值需要在应用程序中的所有控件中唯一。 |
BoundingRectangleProperty | 请参阅备注。 | 包含整个控件的最外侧矩形。 |
ClickablePointProperty | 请参阅备注。 | 窗口控件必须具有可单击点,这将导致窗口处于选中状态或未选中状态。 |
ControlTypeProperty | 窗口 | 对于所有 UI 框架,此值相同。 |
IsContentElementProperty | 真 实 | 窗口控件必须始终包含内容。 |
IsControlElementProperty | 真 实 | 窗口控件必须始终为控件。 |
IsKeyboardFocusableProperty | 请参阅备注。 | 如果控件可以接收键盘焦点,它必须支持此属性。 |
LabeledByProperty | null |
窗口控件没有静态窗口标签。 |
LocalizedControlTypeProperty | “窗口” | 对应于 Window 控件类型的本地化字符串。 |
NameProperty | 请参阅备注。 | 窗口控件始终包含一个主 Window 元素,该元素与用户认为是该项最具语义的标识符相关。 |
必需的 UI 自动化控件模式
下表列出了窗口控件支持所需的 UI 自动化控件模式。 有关控件模式的详细信息,请参阅 UI 自动化控件模式概述。
控件模式 | 支持 | 注释 |
---|---|---|
IDockProvider | 有條件的 | 如果窗口具有可停靠的功能,则必须支持。 |
ITransformProvider | 必选 | 使窗口能够在屏幕上移动、调整大小或旋转。 |
IWindowProvider | 必选 | 使窗口能够进行特定操作。 |
所需的 UI 自动化事件
下表列出了所有窗口控件支持所需的 UI 自动化事件。 有关事件的详细信息,请参阅 UI 自动化事件概述。
UI 自动化事件 | 支持 | 注释 |
---|---|---|
AsyncContentLoadedEvent | 必选 | 没有 |
AutomationFocusChangedEvent | 必选 | 没有 |
BoundingRectangleProperty 属性更改事件。 | 必选 | 没有 |
IsEnabledProperty 属性更改事件。 | 必选 | 没有 |
IsOffscreenProperty 属性更改事件。 | 必选 | 没有 |
LayoutInvalidatedEvent | 必选 | 没有 |
NameProperty 属性更改事件。 | 必选 | 没有 |
StructureChangedEvent | 必选 | 没有 |
HorizontallyScrollableProperty 属性更改事件。 | 取决于 | 没有 |
HorizontalScrollPercentProperty 属性更改事件。 | 取决于 | 没有 |
HorizontalViewSizeProperty 属性更改事件。 | 取决于 | 没有 |
VerticalScrollPercentProperty 属性更改事件。 | 取决于 | 没有 |
VerticallyScrollableProperty 属性更改事件。 | 取决于 | 没有 |
VerticalViewSizeProperty 属性更改事件。 | 取决于 | 没有 |
WindowClosedEvent | 必选 | 没有 |
WindowOpenedEvent | 必选 | 没有 |
WindowVisualStateProperty 属性更改事件。 | 取决于 | 没有 |