实现 UI 自动化 Transform 控件模式

注释

本文档适用于想要使用 System.Windows.Automation 命名空间中定义的托管 UI 自动化类的 .NET Framework 开发人员。 有关 UI 自动化的最新信息,请参阅 Windows 自动化 API:UI 自动化

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

控件 TransformPattern 模式用于支持可在二维空间内移动、调整大小或旋转的控件。 有关实现此控件模式的控件示例,请参阅 UI 自动化客户端的控件模式映射。

实施准则和约定

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

  • 此控件模式的支持不限于桌面上的对象。 如果子级可以在容器边界内自由移动、调整大小或旋转子级,则容器对象的子级也必须支持此控件模式。

  • 无法移动、调整对象大小或旋转对象,以便其生成的屏幕位置完全超出其容器的坐标,因此无法访问键盘或鼠标(例如,当顶级窗口移出屏幕外或子对象在容器视区边界外移动时)。 在这些情况下,对象将尽可能靠近所请求的屏幕坐标,并将顶部或左侧坐标重写为容器边界内。

  • 对于多监视器系统,如果对象在组合桌面屏幕坐标之外完全移动、调整大小或旋转,该对象将放置在靠近所请求坐标的主监视器上。

  • 所有参数和属性值都是绝对的,独立于区域设置。

ITransformProvider 的必需成员

实现 ITransformProvider需要以下属性和方法。

必需成员 成员类型 注释
CanMove 资产 没有
CanResize 资产 没有
CanRotate 资产 没有
Move 方法 没有
Resize 方法 没有
Rotate 方法 没有

没有与此控件模式关联的事件。

例外

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

异常类型 条件
InvalidOperationException Move

- 如果 CanMoveProperty 为 false。
InvalidOperationException Resize

- 如果 CanResizeProperty 为 false。
InvalidOperationException Rotate

- 如果 CanRotateProperty 为 false。

另请参阅