实现 UI 自动化 Window 控件模式

注意注意

本文档的目标读者是欲使用 System.Windows.Automation 命名空间中定义的托管 UI Automation类的 .NET Framework 开发人员。有关 UI Automation的最新信息,请参见 Windows Automation API: UI Automation(Windows 自动化 API:UI 自动化)。

本主题介绍实现 IWindowProvider 的准则和约定,包括有关 WindowPattern 属性、方法和事件的信息。 本主题的结尾列出了指向其他参考资料的链接。

WindowPattern 控件模式用于支持在传统的 graphical user interface (GUI) 内提供基于基本窗口的功能的控件。 必须实现此控件模式的控件的示例包括顶级应用程序窗口、multiple-document interface (MDI) 子窗口、大小可调的拆分窗格控件、模式对话框以及气球状帮助窗口。

本主题包括下列各节。

  • 实现准则和约定
  • IwindowProvider 必需的成员
  • 异常
  • 相关主题

实现准则和约定

实现 Window 控件模式时,请注意以下准则和约定:

  • 为了能够使用 UI 自动化同时修改窗口大小和屏幕位置,除了 IWindowProvider 外,控件还必须实现 ITransformProvider

  • 包含标题栏和标题栏元素(使控件能够移动、调整大小、最大化、最小化或关闭)的控件通常需要实现 IWindowProvider

  • 诸如工具提示弹出窗口以及组合框或下拉菜单之类的控件通常不实现 IWindowProvider

  • 气球状帮助窗口和基本工具提示弹出窗口的区别在于是否提供了像窗口一样的“关闭”按钮。

  • IWindowProvider 不支持全屏模式,因为它是特定于应用程序的功能,而不是典型的窗口行为。

IwindowProvider 必需的成员

IWindowProvider 接口需要以下属性、方法和事件。

必需的成员

成员类型

注释

InteractionState

Property

IsModal

Property

IsTopmost

Property

Maximizable

Property

Minimizable

Property

VisualState

Property

Close

方法

SetVisualState

方法

WaitForInputIdle

方法

WindowClosedEvent

Event

WindowOpenedEvent

Event

WindowInteractionState

Event

不保证会是 ReadyForUserInteraction

异常

提供程序必须引发以下异常。

异常类型

Condition

InvalidOperationException

SetVisualState

  • 当控件不支持请求的行为时。

ArgumentOutOfRangeException

WaitForInputIdle

  • 当参数不是有效的数字时。

请参见

任务

在 UI 自动化提供程序中支持控件模式

在 UI 自动化中使用缓存

概念

UI 自动化控件模式概述

客户端的 UI 自动化控件模式

UI 自动化树概述