

摘 要 開篇簡單介紹Windows Presentation Foundation(WPF)技術,并列舉與傳統的Windows Form開發的客戶端程序比較下的優勢。根據個人學習和開發經驗,進一步討論課堂教學管理系統的設計模式,通過WPF的圖形引擎優勢改善傳統教學管理模式的呈現方式。
關鍵詞 WPF;教學管理;圖形界面
中圖分類號:TP315 文獻標識碼:B 文章編號:1671-489X(2011)24-0085-03
Research and Design of Class-teaching Management System based on WPF//Li Ying
Abstract This article begins with introduction to Windows Presentation Foundation (WPF), and lists with the advantages under comparing with traditional Windows Form client application. According to individual learning and development experience, this article also further discusses about the design patterns of Classroom management system, and improving the presentation of the traditional ways of teaching management through the advantages of Graphics engine of WPF.
Key words WPF; teaching management; graphical interface
Author’s address Institute of Information Science and Technology, Southwest Jiaotong University, Chengdu, China 610031
傳統的教學管理系統大都過于規范,交互性不佳,不管是C/S還是B/S的。自從微軟推出Vista系統后,由基于DirectX的WPF(Windows Presentation Foundation)支撐的半透明窗口和2D、3D圖形的圖像呈現越發走進系統界面設計人員的視野?,F在,將WPF的圖形引擎加載到系統開發中,點亮整個系統,使其更加趨近用戶體驗期望。
1 WPF技術介紹
WPF,全稱Windows Presentation Foundation,微軟推出的新一代圖形系統,屬于.NET Framework 3.0的一部分。但它又不同于一般的圖形引擎,WPF不僅更加適用于富媒體的呈現,更是通過可擴展應用程序標記語言XAML(eXtensible Application Markup Language)的聲明式編程,實現C/S系統的界面描述與程序代碼的分離,使得設計人員和程序員更好地協作。
WPF可以說是集合了眾家之所長,如WPF在多媒體服務中幾乎可以處理所有的媒體類型;DirectX的3D效果、硬件加速;WPF處理動畫效果也堪比Adobe Flash;在實現圖片顯示上,使用ClearType軟件技術,這使得在WPF內容在放大鏡中縮放后的效果消除鋸齒;同時,WPF 也支持WinForm的可視化圖形界面,提高開發效率,并且在開發過程中,制作界面布局時會實時地顯示控件定位等信息。
2 WPF與WinForm的開發對比
WinForm是傳統制作商用客戶端的首選,并且還有很多的第三方控件支持其系統開發。比如在WinForm的基礎上,使用控件Developer Express .NET,標準控件TreeView、ListView的使用使得開發傳統的Windows應用程序容易得多。但WPF在使用WinForm控件的基礎上還擁有一些令人意想不到的特性,如控件的旋轉、分辨率無關性、高級布局等。在界面設計上WPF更勝一籌,通過Windows Vista、QQ concept、Yahoo manager就可見一斑。WPF一改WinForm滿窗口控件的呈現形式,雖然仍保留著控件機制,但它很巧妙地隱藏了控件使用的痕跡。
在課堂教學管理系統中,涉及到多媒體教學中教學資源的播放,音頻和視頻都能更好地與WPF集成,使用MediaElement控件就能輕松實現播放視頻的功能,它可以讓開發人員輕松地完成Windows Media Player ActiveX的基本操作,并且允許使用阿爾法混合技術合成媒體,并顯示在三維表面上,這也是WPF在與WinForm對比下的優勢。
除了以上幾點,在WPF實現下,再也不用像WinForm實現界面時面對這樣的尷尬:實現大標題時往往會采用藝術字,開發者一般都需要犧牲系統的訪問速度而采用圖片的顯示方式換來界面上的別致。WPF支持一些基本的文本特性,在TextEffects的輔助下實現。TextEffects支持開發者針對每一個字符進行變換,包括位置、旋轉屬性,這樣就很方便地實現文本的曲線形布局。
3 課堂教學管理系統的模式分析
課堂教學涉及的系統模塊主要包括點名系統和教學媒體管理,而系統管理旨在增強用戶體驗,其中包括系統的換膚和調色功能(如圖1所示)。在此筆者省略傳統管理系統的登錄、名單修改等數據庫操作流程,重點解讀增強用戶交互的部分。
3.1 點名系統
教師上課時,傳統的點名方式是根據課程打印出名單,課上依照名單上的信息逐一確認,即使答到的不是本人也檢查不出。WPF支持與分辨率無關的圖形顯示,那么在點名系統中添加學生照片可以很好地讓教師清楚地認識學生,點擊照片支持放大縮小操作。在課堂發言的時候,一般教師都會加以記錄,以便給學生統計平時成績,那么紙質記錄顯然就很容易遺漏,通過系統實時地將課堂發言情況記錄下來,并加以統計,一方面減輕教師的工作量,另一方面也能更好地公示平時成績的核定。
課堂點名分為兩種形式。一是逐一順序點名。如圖2-1)所示,確認一名學生的到堂信息后,選擇下一位進行確認,為了修改時辨認狀態,確認后圖片邊框變色:紅色代表請假;綠色代表到堂;灰色代表缺席。
二是整體分散點名。在整個班級的學生名單圖形化界面下,隨機選取,只需對那些沒到堂的學生做出缺席處理,其他學生默認到堂。如圖2-2)所示,在學生名單圖形化界面左側調整滑動條,用來調整顯示比例,實現同Photo Gallery,采用松散XAML。
記錄課堂發言時,只需點擊學生照片,點擊后在圖片左上方出現對號圖標,如果取消發言,雙擊學生照片,如果重復發言,繼續點擊即可,后臺會自動記錄下發言次數,顯示在對號圖標的上方,如圖2-3)所示。在結束本堂課程時,教師提交課堂表現,后臺自動生成本次課堂表現系數,作為平時成績的依據。
3.2 教學媒體
在WPF中實現媒體有多種方式,先來簡單介紹下SoundPlayer和MediaPlayer這兩種方式。SoundPlayer使窗口程序添加音樂就像Flash(as3.0)那么簡單。在觸發系統按鈕時,有音頻的響應是Flash中最常見的功能實現,但在普通的應用程序上很少有這樣的實現,形式表現上也沒有Web那么豐富多彩。在WPF中通過SoundPlayerAction就可以在EventTrigger下實現,當點擊鼠標或鼠標指針進去按鈕區域時,會觸發系統播放某一個指定的音頻。
但SoundPlayer的靈活性已經遠遠不能滿足人們觀看視頻時產生的交互需求了,WPF為開發人員提供了MediaPlayer,由MediaElement封裝。MediaPlayer提供了及時停止、靜音、揚聲器平衡、加減速、剪輯、顯示音軌等功能,除此,MediaElement通過與RenderTargetBitMap的合作,可以截取視頻中任意一個畫面(通過鍵盤操作),實現函數主要是DrawingContext的DrawVideo的方法。本課堂教學管理系統在視頻模塊提供這樣的功能來實現課堂的最優教學。
在課堂上如果在觀看視頻時聽課方產生疑問,一般的處理方法有兩種。一種就是立刻暫停視頻,進入討論,這樣做會導致聽課者在流暢的印象中產生中斷,那是一個極其不愜意的感覺。另一種處理方法就是等視頻全部播放完成后再集中討論,這種做法會有兩個弊端:1)時間過長,難免會導致人在短暫記憶上的缺失;2)誰也無法保證觀看視頻的過程中不會產生更多的疑點,那么當視頻觀看完成后,人腦中就會有很多的疑點疊加,人腦不能像堆棧那樣完美地彈出獨立的疑點,產生混淆是不可預料的。這時就需要教師在視頻播放中根據情況進行操作,及時保留下那些有爭議的畫面內容,待完成視頻播放時通過本系統設置的切點回放通道進入切圖瀏覽界面,真實再現能夠更好地促進課堂教學的進度。
WPF為使用者提供語音合成以及語音識別功能。在本系統中允許使用者將音頻中的語言轉換成文本的形式供參考學習,主要的技術實現方法為SpeechRecognizer。同時也提供語音命令,在上述提到的點名系統中也嵌入該功能,執行指定的操作將變得容易,只需使用者說上一句“打開X文件”即可,系統便會自動尋找,如果匹配到唯一文件,則直接執行播放的命令。當輸入的文件名有不止一個對應文件時,系統將彈出對話框提示找到兩個或兩個以上匹配文件,所有匹配文件被唯一標號,此時使用者可以通過讀出標號鎖定文件,也可以手動操作鎖定。還存在無法找到匹配文件的情況,系統顯示的是模糊搜索下的匹配內容。
在文檔顯示上,眾所周知,PPT可以使用針氈筆來做文檔注釋,有輔助教學的作用,在應用程序中是幾乎無法做到的,而今WPF提供了FlowDocumentScrollViewer、FlowDocumentPageViewer、FlowDocumentReader三個查看器,它們都支持注釋,即使用者可以重點突出內容或以文本或墨水的形式添加注釋,通過使用StickyNoteControl控件實現。
4 總結
隨著WPF等RIA技術的發展,在應用程序領域掀起一股界面設計與交互響應改革的熱潮。新一代技術帶給用戶的體驗將是實實在在的,不再是科幻電影中才有的夢幻般影像,神奇的真實再現般的視覺呈現也不再是科幻電影的專屬。
參考文獻
[1]李應保.WPF專業編程指南[M].北京:電子工業出版社,2010
[2]Anderson C.WPF核心技術[M].北京:人民郵電出版社,2009
[3]Nathan A.WPF揭秘[M].北京:人民郵電出版社,2008