实现 UI 自动化 Transform 控件模式
备注
本文档适用于想要使用 System.Windows.Automation 命名空间中定义的托管 UI 自动化类的 .NET Framework 开发人员。 有关 UI 自动化的最新信息,请参阅 Windows 自动化 API:UI 自动化。
本主题介绍实现 ITransformProvider的准则和约定,包括有关属性、方法和事件的信息。 本主题的结尾列出了指向其他参考资料的链接。
TransformPattern 控件模式用于支持可以移动、调整大小或在二维空间中旋转的控件。 有关实现此控件模式的控件示例,请参阅 Control Pattern Mapping for UI Automation Clients。
实现准则和约定
在实现 Transform 控件模式时,请注意以下准则和约定:
对此控件模式的支持并不限于桌面上的对象。 如果子级可以移动、调整大小或在容器的边界内自由地旋转,则此控件模式还必须受到容器对象子级的支持。
如果移动、旋转对象或调整其大小使得屏幕位置完全处于其容器的坐标之外(例如,当顶层窗口移动到屏幕之外或子对象移动到容器的视区边界之外时),结果导致键盘或鼠标无法访问,则不能如此操作。 在这些情况下,对象被放在尽可能靠近所请求的屏幕坐标位置,而顶部或左侧坐标被覆盖以位于容器边界内。
对于多监视器系统,如果一个对象被移动、调整大小或旋转导致完全位于组合桌面屏幕坐标外,则该对象被放置在尽可能靠近所请求坐标的主监视器中。
所有参数和属性值都是绝对和独立于区域设置的。
ITransformProvider 必需的成员
实现 ITransformProvider需要以下属性和方法。
必需的成员 | 成员类型 | 说明 |
---|---|---|
CanMove | 属性 | 无 |
CanResize | 属性 | 无 |
CanRotate | 属性 | 无 |
Move | 方法 | 无 |
Resize | 方法 | 无 |
Rotate | 方法 | 无 |
没有与此控件模式关联的事件。
例外
提供程序必须引发以下异常。
异常类型 | 条件 |
---|---|
InvalidOperationException | Move - 如果 CanMoveProperty 为 false。 |
InvalidOperationException | Resize - 如果 CanResizeProperty 为 false。 |
InvalidOperationException | Rotate - 如果 CanRotateProperty 为 false。 |