当前位置: 首页 > article >正文

UI Automation 中所有Patterns

UI Automation 中,所有的自动化模式(Patterns)都定义在 System.Windows.Automation 命名空间中。这些模式用于描述控件的行为和交互方式,允许你与应用程序的 UI 进行自动化操作。每个模式都有其特定的功能,例如点击按钮、输入文本、选择菜单项等。

所有支持的自动化模式

以下是 UI Automation 中所有标准的自动化模式及其简要说明:

  1. InvokePattern

    • 用途:用于执行一个简单的操作,如点击按钮或链接。
    • 方法
      • Invoke():触发控件的默认操作。
  2. ValuePattern

    • 用途:用于获取或设置控件的值,如文本框、复选框等。
    • 属性
      • CurrentValue:获取当前值。
      • IsReadOnly:指示该控件是否只读。
    • 方法
      • SetValue(string value):设置控件的值。
  3. ScrollPattern

    • 用途:用于滚动控件的内容,如滚动条、列表框等。
    • 属性
      • HorizontalScrollPercent:水平滚动位置(百分比)。
      • VerticalScrollPercent:垂直滚动位置(百分比)。
      • HorizontallyScrollable:指示是否可以水平滚动。
      • VerticallyScrollable:指示是否可以垂直滚动。
    • 方法
      • Scroll(double horizontalAmount, double verticalAmount):滚动指定的距离。
      • SetScrollPercent(double horizontalPercent, double verticalPercent):将滚动位置设置为指定的百分比。
  4. SelectionPattern

    • 用途:用于管理控件中的选择项,如列表框、组合框等。
    • 属性
      • CanSelectMultiple:指示是否允许多选。
      • IsSelectionRequired:指示是否必须选择至少一项。
      • GetSelection():获取当前选中的项。
    • 方法
      • 无直接方法,但可以通过 SelectionItemPattern 来选择或取消选择项。
  5. ExpandCollapsePattern

    • 用途:用于展开或折叠控件,如树节点、菜单项等。
    • 属性
      • ExpandCollapseState:指示控件的当前状态(展开、折叠、部分展开等)。
    • 方法
      • Expand():展开控件。
      • Collapse():折叠控件。
  6. GridPattern

    • 用途:用于访问网格控件中的单元格,如表格、数据网格等。
    • 属性
      • RowCount:网格的行数。
      • ColumnCount:网格的列数。
    • 方法
      • GetItem(int row, int column):获取指定行列的单元格。
  7. GridItemPattern

    • 用途:用于获取网格单元格的行和列信息。
    • 属性
      • Row:单元格所在的行索引。
      • Column:单元格所在的列索引。
      • RowSpan:单元格跨越的行数。
      • ColumnSpan:单元格跨越的列数。
      • ContainingGrid:获取包含该单元格的网格控件。
  8. TablePattern

    • 用途:用于访问表格控件中的行和列标题。
    • 属性
      • RowHeaders:获取表格的行标题。
      • ColumnHeaders:获取表格的列标题。
    • 方法
      • 无直接方法,但可以通过 GridPatternGridItemPattern 来访问表格内容。
  9. TableItemPattern

    • 用途:用于获取表格单元格的行和列标题。
    • 属性

http://www.kler.cn/a/507780.html

相关文章:

  • Oracle查询-in条件超过1000
  • 从AI原理到模型演进及代码实践 的学习二
  • 基于机器学习的用户健康风险分类及预测分析
  • 怎么用python写个唤醒睡眠电脑的脚本?
  • 软件设计大致步骤
  • 静态综合路由实验
  • [WUSTCTF2020]Cr0ssfun
  • Nginx(搭建高可用集群)
  • 如何使用WPS的JS宏实现Word表格的自动编号
  • Open3D 计算每个点的协方差矩阵【2025最新版】
  • improve-gantt-elastic(vue2中甘特图实现与引入)
  • 软考信安25~移动应用安全需求分析与安全保护工程
  • blackbox_exporter 如何检测端口
  • 【Javaweb05】 XML探秘:解码数据的哲学,构建跨界的沟通桥梁
  • 终极布朗尼盘-论文学习总结(来自美赛2013A题)
  • uniapp -- Vue3 MQTT集成(H5、小程序)踩坑记录
  • 【MySQL】MySQL用户管理
  • RV1126+FFMPEG推流项目(9)AI和AENC模块绑定,并且开启线程采集
  • Docker安装PostGreSQL docker安装PostGreSQL 完整详细教程
  • 【零基础入门unity游戏开发——unity通用篇36】向量(Vector3)的基本操作和运算(基于unity6开发介绍)
  • linux中的docker下载镜像
  • 【影刀RPA_启动任务api】
  • 23- TIME-LLM: TIME SERIES FORECASTING BY REPRO- GRAMMING LARGE LANGUAGE MODELS
  • Python语言的数据类型
  • python学opencv|读取图像(三十七 )截断处理
  • C# OpenCV机器视觉:区域生长算法