成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

深入探討WPF UI自動化模型

開發 開發工具 自動化
WPF UI自動化模型提供統一的控制模式,其中包括兩個部分,分別為:UI自動化服務提供者和UI自動化客戶程序等。

我們在這里將會為初學WPF的朋友帶來有關WPF UI自動化模型的一些概念介紹。希望大家可以通過本文介紹的基礎知識,充分掌握這一技術。#t#

現有技術下實現UI自動化測試系統開發需要通過不同方法獲得和展現UI元素信息,開發人員需要花費大量的時間和精力去搜集這些必需的UI元素信息,而不能集中精力于系統特征和功能的實現上。

借助于WPF UI自動化模型所提供的統一的控制模式,通過其等價的名字屬性 (NameProperty) 就可以輕松實現對不同UI元素的統一控制。UI自動化技術減少了此類應用系統的開發成本,將成為下一代輔助訪問技術產品和自動化測試系統主要的界面信息資源提供者。

UI自動化包括兩部分。UI自動化服務提供者 (UI Automation Providers) 和UI自動化客戶程序 (UI Automation Clients) 。UI自動化服務提供者是提供UI自動化服務的應用程序,比如Word, Excel及其它基于Windows的應用程序 等,為用戶通過輔助程序技術對其訪問提供支持。UI自動化客戶端程序是實現用戶界面自動化訪問的輔助技術程序,比如Word和Excel中供應用程序訪問的對象模型及其宏腳本等。

相應的,對開發人員來說,可以通過調用UI自動化提供者應用程序接口(UI Automation Providers API)創建用戶界面控制元素,也可以通過調用UI自動化客戶端應用程序接口(UI Automation Clients API)創建應用程序,通過UI自動化核心層與UI自動化界面控制元素進行通訊。

WPF UI自動化模型通過把界面上一個個的UI元素作為自動化元素 (AutomationElement)暴露給客戶端應用程序供其調用。所有UI自動化元素組成以桌面(Desktop)為根節點的樹型層次結構,樹狀結構包含所有正在運行的應用程序,每一個正在運行的應用程序都是這個根的子節點,其每一個可能與用戶進行互動的界面元素都是一系列層次化的自動化元素(AutomationElement)。

樹型層次結構通過原始視圖(Raw View) 的形式展現給客戶端,客戶端可以通過過濾自動化元素樹的原始視圖 (Raw View) ,得到控制項視圖 (Control View) 和內容項視圖 (Content View) 。 NET3.0提供UI 探測程序UISpy.exe供開發人員調用以察看UI自動化元素視圖。

自動化元素 ( AutomationElement)對象包括UI元素在界面上所呈現的兩類共有屬性。一個是控制類型屬性(Control Type),控制類型屬性定義界面元素的基本表現形式和功能,并以此作為單一的識別實體。

比如,按鈕Button類型或者多選框Check Box類型。一個是控制模式(Control Patterns),控制模式提供一個統一的方法來構建和表達控制類型所擁有的功能。比如,可以對擁有被調用功能的控制類型比如按鈕Button類型使用調用模式,對編輯類控制類型使用文本模式等。

控制模式通過公開方法調用使客戶端得到界面元素進一步的詳細信息并提供輸入。微軟鑒別出18種控制模式,通過這18種控制模式可以展現出任何類UI元素及其任意組合所能實現的所有事情。

注意,WPF UI自動化模型中的控制類型和控制模式之間并不是一一對應的關系。一個控制模式可以被多種控制類型支持,一個控制類型也可以支持多種控制模式,每一個組合都展現其不同的行為樣式。

比如,一個下拉框類型(Combo Box)具有至少兩種控制模式:一個是呈現其折疊和展開能力的模式(ExpandCollapsePattern),另一個是呈現其選擇項的可選擇模式(SelectionItemPattern)。
 

責任編輯:曹凱 來源: IT168
相關推薦

2009-12-23 16:13:00

WPF Attache

2009-12-23 16:33:34

WPF UI自動化測試

2009-12-25 14:18:03

WPF依賴屬性

2009-12-29 15:24:48

WPF對話框

2013-07-11 09:45:48

扁平化扁平化設計

2009-12-25 10:20:28

WPF窗口

2009-12-23 16:19:25

WPF UI自動化技術

2010-11-22 14:18:32

MySQL鎖機制

2010-07-21 09:38:15

PHP緩存技術

2009-11-20 17:17:08

Oracle函數索引

2021-05-17 05:36:02

CSS 文字動畫技巧

2010-03-05 13:44:00

Python序列

2009-08-27 11:27:58

foreach語句C# foreach語

2023-01-12 17:18:06

數據庫多云

2011-02-25 09:23:00

Java類加載器

2015-09-02 08:57:56

JavaHashMap工作原理

2010-03-31 14:58:03

云計算

2009-11-12 13:56:54

2009-12-07 16:07:03

PHP類的繼承

2009-12-14 14:40:10

Ruby全局域變量
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美在线观看网站 | 久久国产精品久久久久久 | www.亚洲 | 色妹子综合网 | 欧美性吧 | 亚洲精品一区二区三区蜜桃久 | 日韩国产一区二区 | 国产高清在线精品一区二区三区 | 久久99这里只有精品 | 亚洲成人毛片 | 91精品国产综合久久福利软件 | 国产在线色| 久久午夜影院 | 国产美女一区二区 | 一级黄色夫妻生活 | 中文字幕一区二区三区四区五区 | 亚洲热在线视频 | 久久久久久国产精品免费免费 | 欧美精品一区二区蜜桃 | 国产成人福利在线 | 毛片区| 日韩乱码一二三 | 亚洲第一视频网 | 91精品国产综合久久小仙女图片 | 欧美成人精品一区二区男人看 | 久久久久国产一区二区三区 | www.毛片| 久久精品亚洲一区 | 在线一区视频 | av网站在线播放 | 在线成人av | 美女日皮网站 | 成人免费视频观看视频 | 国产精品久久一区二区三区 | 激情三区| 亚洲欧美日韩国产综合 | 中文字幕亚洲一区二区三区 | 中文字幕在线一区二区三区 | 奇米四色在线观看 | 成人精品久久 | 亚洲最色网站 |