WPF界面设计的方式

简介: 灵活的UI自动化:Microsoft UI自动化是Microsoft Windows的新增辅助功能框架,可用于支持WPF 的所有操作系统。UI自动化对桌面上的大多数用户界面(UI)元素提供编程访问,从而使如屏幕阅读器的辅助技术产品能够向最终用户提供有关UI的信息,并通过标准输入以外的方式操作UI。

灵活的UI自动化Microsoft UI自动化是Microsoft Windows的新增辅助功能框架可用于支持WPF 的所有操作系统。UI自动化对桌面上的大多数用户界面(UI)元素提供编程访问从而使如屏幕阅读器的辅助技术产品能够向最终用户提供有关UI的信息并通过标准输入以外的方式操作UI。UI自动化还允许自动化测试脚本与UI进行交互,不过UI自动化不能在由不同用户通过“运行身份”命令启动的进程之间实现通信,它可以确保所编写的UI自动化客户端应用程序能够在多种框架上运行。UI自动化核心掩盖了UI各部分的框架之间的任何差异。UI自动化有四个主要组件,如下表所示:

表1 UI自动化组件表

组件

说明

提供程序 APIUIAutomationProvider.dll UIAutomationTypes.dll

一组由 UI 自动化提供程序实现的界面定义,提供有关 UI 元素的信息并响应编程输入的对象。

客户端 API(UIAutomationClient.dll 和 UIAutomationTypes.dll)

一组托管代码类型,使 UI 自动化客户端应用程序可以获取有关 UI 的信息并向控件发送输入。

UiAutomationCore.dll

处理提供程序与客户端之间的通信的基础代码(有时也称为 UI 自动化核心)。

UIAutomationClientsideProviders.dll

一组用于标准旧版本控件的 UI 自动化提供程序。(WPF 控件为 UI 自动化提供本机支持。) 此支持自动提供给客户端应用程序。

从软件开发人员的角度而言,使用 UI 自动化的方法有两种:一种是使用提供程序API为自定义控件创建支持,另一种是使用客户端 API创建使用UI自动化核心与UI元素通信的应用程序。UI自动化将UI的每一部分作为一个AutomationElement向客户端应用程序公开。元素包含在树结构中,以桌面作为根元素。客户端可以将树的原始视图作为控件视图或内容视图进行筛选。应用程序还可以创建自定义视图。AutomationElement 对象公开它们所表示的 UI 元素的通用属性,其中一个属性是控件类型,它将其基本外观和功能定义为一个可识别的实体以提供特定于这些元素的控件类型的属性。控件模式还公开方法,使客户端能够获取有关元素的进一步信息并提供输入。UI自动化还通过事件向客户端应用程序提供信息。与WinEvent不同的是,UI自动化事件并不基于广播机制。UI自动化客户端注册特定的事件通知,并且可以请求将特定的UI自动化属性和控件模式信息传入其事件处理程序中,也可以根据是否有客户端在侦听,提供程序可以通过有选择地引发事件来改善性能。

目录
相关文章