基于WPF的醫療輔助軟件設計與開發
無錫尚沃生物科技有限公司開發了應用于呼吸系統檢測儀器“納庫侖一氧化氮分析儀”,產品在投入市場后,發現兒童在使用儀器時與成人有很大的不同,存在不配合性、數據采集時間不同等情況。企業急需一套能夠被醫療兼容,又能夠讓不同年齡段的兒童適用的軟件。根據企業提出的相關業務需求,并且為配合醫療儀器的使用,開發制作的側重點在于開發出一些適合于兒童,并帶有簡單游戲性質的故事情節的游戲軟件。為此,我們選擇了Visual Studio 2010下的WPF(Windows Presentation Foundation)技術。本文對WPF以及WPF在項目中的實際運用進行了介紹。
1、WPF體系架構及特點
WPF的全稱是Windows Presentation Foundation,是未來十年里Windows平臺GUI開發的最主要的技術之一。它是微軟開發的一款基于.NET(目前最新版本為.NET Framework 4.0)平臺的最新的軟件界面顯示系統。為用戶界面、文檔和多媒體等等,提供了統一的描述和操作方法。而相對于以往的通用編程方式GDI(Graphics Device Interface),這個已經應用于十多年的技術在.NET框架中已經被微軟進行了多次的擴充,但是對它的種種擴充已經不能很好的滿足當前軟件開發中對越來越復雜、越來越趨向于完美的軟件界面的需求,為了在完成相同界面時能夠達到更好的效果,同時也為了能夠滿足下一代操作系統的兼容。為此,發布了這一新的程序界面開發技術。
1.1 WPF體系架構
WPF主要是由Presentation Framework、Presentation Core和mil core三層組件構成,它們是WPF的子系統。其中Presentation Framework、Presentation Core這兩者是托管組件,而mil core卻是非托管組件。而托管組件Presentation Core提供了像事件處理、布局等一系列的功能。在組件Presentation Core提供的基本功能上,組件Presentation Framework實現了WPF的各種外觀,例如圖像效果的實現、按鈕控件的實現等.而非托管的mil core是以非托管代碼來編寫的,其目的是實現與DirectX的交互,從而來提高效率。體系架構中的User32、DirectX和Kernel是Windows子系統。如WPF應用程序運行過程圖1所示。
1.2 XAML語言
XAML是eXtensible Application Markup Language縮寫,名為可擴展應用程序標記語言。從名稱可以看出它是一種標記語言,也就意味著它具有其他標記語言所具有的諸多特點。 XAML是微軟創建的一款新的描述性語言用來構建應用程序用戶界面,即用來編寫WPF(Windows Presentation Foundation) 的應用程序。XAML引入了XML中的名字空間、屬性等多個元素,即XAML是基于XML的。并且它和XML的使用方式很接近,所以對XAML來說它本身就是一個很好的XML文檔。
在以往的程序編寫中,我們常常為使內部數據與界面很好的聯系在一起而大傷腦筋,而WPF提供了數據綁定這一有效的方法,從而很好的解決了這一難題。在XAML中使用數據綁定,而使用數據綁定的關鍵就是去創建System.Windows.Data.Binding這樣一個實例對象。當然,該對象也可以在C#中被創建。數據綁定其實是使界面顯示的數據值與內部數據值保持相同,而數據綁定這一功能的使用,使得我們項目組的開發人員在很大程度上提高項目開發工作的效率。
1.3 Microsoft Expression Blend
Microsoft Expression Blend是一個全新的、全功能的專業設計工具,用于創造基于Microsoft Windows平臺的易于使用且豐富的應用界面。使用它的首要和最終目的是作為一種可應用于WPF的設計界面工具。Microsoft Visual Studio 可以與Microsoft Expression Blend 完美的相結合在一起使用.Expression Blend 自動生成 WPF應用程序,也就是說,所顯示的界面設計都可以由XAML代碼來表示。當然,也可以將可擴展應用程序標記語言(XAML)導入到Expression Blend設計界面中。
2、WPF應用程序在實際開發項目中的運用
基于WPF的特點以及相關技術,本文創建了醫療輔助系統軟件項目。下面介紹利用Microsoft Expression Blend創建醫療輔助系統應用程序的基本過程。
(1)打開Microsoft Expression Blend,并新建名為Balloon的項目。
(2)我們進入了Microsoft Expression Blend的工作區,打開工具箱,添加背景(backimage)圖片、氣球(balloonimage)圖片、滑動軸(silder)控件、提示使用者檢測失敗的文本(txbfailed)控件和
成功的文本(txtSucessed)控件、移動路徑([path])、設置下拉菜單(MenuItem)、設置下拉菜單下的起始無效時間(Startinvalid)控件和成功時間(Succeedtimer)控件、開始按鈕(btnStart)控件等。初始狀態下令文本txbfailed控件可見,設計應用程序界面。
(3)Microsoft Expression Blend將自動生成 Windows Presentation Foundation (WPF)應用程序,是由 XA代碼來表示的。在成功的添加諸多控件的基礎上,并在代碼窗口里實現事件響應代碼的編寫。
(4)應用程序運行效果。開始檢測時,進入游戲系統界面,點擊設置下拉菜單(MenuItem),設定下拉菜單下的起始無效時間(Startinvalid)和成功時間(Succeedtimer)的有效值,例如,起始無效時間為2秒,成功時間為5秒。點擊開始按鈕(btnStart),根據吹氣時的氣量大小,滑動軸(silder)左右移動。當氣量小時,滑動軸(silder)向左移動,同時氣球降落;當氣量大時,滑動軸(silder)向右移動,氣球上升。成功時間達到已設定的有效值時,提示使用者檢測成功的文本(txtSucessed);相反,當成功時間未達到已設定的有效值時,提示使用者檢測失敗的文本(txbfailed),當兒童完成游戲的同時,完成了檢測。利用Microsoft Expression Blend技術可以使得WPF應用程序更加方便、更加出色的完成。
3、結語
WPF給Windows應用程序的開發帶來一次劃時代的革命,它提供了一種全新的、全功能的開發模式。為企業的醫療儀器提供這一相配套的兒童檢測軟件,可以使得不同年齡段的兒童克服不安定心理,更好的配合醫療檢測,從而提高治療的效果,并增加了企業儀器的新服務人群,開拓了新的醫療市場。
更多醫療電子信息請關注:21ic醫療電子頻道
評論