实现 UI 自动化 Window 控件模式

更新:2007 年 11 月

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

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

本主题包括下列各节。

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

实现准则和约定

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

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

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

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

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

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

IwindowProvider 必需的成员

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

必需的成员

成员类型

说明

InteractionState

属性

IsModal

属性

IsTopmost

属性

Maximizable

属性

Minimizable

属性

VisualState

属性

Close

方法

SetVisualState

方法

WaitForInputIdle

方法

WindowClosedEvent

事件

WindowOpenedEvent

事件

WindowInteractionState

事件

不保证会是 ReadyForUserInteraction

异常

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

异常类型

条件

InvalidOperationException

SetVisualState

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

ArgumentOutOfRangeException

WaitForInputIdle

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

请参见

任务

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

在 UI 自动化中使用缓存

概念

UI 自动化控件模式概述

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

UI 自动化树概述