版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p> 基于WPF的文檔編輯軟件的設計和實現(xiàn)</p><p><b> 摘 要</b></p><p> 隨著用戶需求復雜化,目前大部分應用程序已逐漸不能滿足更高、更全方位的用戶體驗要求。為給用戶提供更具視覺效果的體驗,微軟在最新發(fā)布的Windows Vista開發(fā)庫中引入全新的圖形子系統(tǒng)Windows Presentation Foundation
2、(WPF)。 </p><p> 本設計是對WPF結構及其所提供的技術和方法進行初步探討,并應用WPF技術設計實現(xiàn)文檔編輯軟件。本設計以.NET Framework3.0技術為背景,采用統(tǒng)一編程模型,確定設計和代碼分離的開發(fā)框架。使用微軟最新開發(fā)工具Expression Blend開發(fā)用戶界面和控件,運用WPF提供的服務及對開發(fā)和設計的統(tǒng)一,實現(xiàn)文本編輯窗體及豐富的用戶體驗,并將其生成為XMAL資源文檔。最后在
3、VS2010中導入相關資源文檔,實現(xiàn)后臺邏輯代碼并導入XML數(shù)據(jù)存儲文檔,初步實現(xiàn)具有較豐富文本編輯功能的文本編輯軟件。</p><p> 關鍵詞:WPF,XAML,窗體,文本編輯</p><p> The design of WPF-based document editing software </p><p><b> ABSTRACT<
4、/b></p><p> As the requirements of users become more and more complex, the majority of applications have gradually failed to meet users' demand for greater and all-round user experience now. In order
5、 to provide more effective visual experience to UI, Microsoft brings out a new graphics subsystem named Windows Presentation Foundation (WPF) in the latest release of Windows Vista development library.</p><p&g
6、t; The main content of the present design is to discuss WPF's structure, the techniques and methods it provides. And with the application of the technology we can realize the design of WPF-based document editing sof
7、tware .On the background of techniques of .NET Framework3.0, the present design uses a unified programming model under which UI and the logical code are separated. In this design, the UI and controls are developed by the
8、 latest Microsoft development tool, Expression Blend, using WPF prov</p><p> KEY WORDS: WPF, XAML,F(xiàn)orm,Text editing</p><p><b> 目錄</b></p><p><b> 前 言3</b>
9、</p><p><b> 第1章 緒論4</b></p><p> 1.1 課題背景及目的4</p><p> 1.2 國內外研究狀況5</p><p> 1.3 系統(tǒng)設計研究方法6</p><p> 1.4 論文構成及研究內容6</p><p>
10、第2章WPF簡介8</p><p> 2.1 WPF技術特點8</p><p> 2.2 XAML語言簡介9</p><p> 2.2.1 XAML綜述9</p><p> 2.2.2 XAML特點11</p><p> 2.3 C#簡介12</p><p> 2.3.1
11、 C#綜述12</p><p> 2.3.2 C#優(yōu)勢13</p><p> 第3章 WPF優(yōu)越性詳細分析15</p><p> 3.1 聲明式編程15</p><p> 3.2 觸發(fā)器16</p><p> 3.3 一致的style16</p><p> 3.4 豐富的
12、應用程序文本16</p><p> 3.5 可修改的UI布局17</p><p> 3.6 整體的優(yōu)越性18</p><p> 第4章 文檔編輯軟件的實現(xiàn)19</p><p> 4.1 系統(tǒng)環(huán)境19</p><p> 4.2 開發(fā)環(huán)境19</p><p> 4.2.1 M
13、icrosoft .NET Framework 3.019</p><p> 4.2.2 WinFX Software Development Kit (SDK)19</p><p> 4.2.3 Visual Studio 201019</p><p> 4.2.4 Visual Studio 2010 Extensions for WCF, WPF
14、19</p><p> 4.2.5 Microsoft Expression Blend20</p><p> 4.3 總體開發(fā)方案20</p><p> 4.4 UI設計端開發(fā)步驟21</p><p> 4.4.1 開發(fā)應用程序框架21</p><p> 4.4.2 開發(fā)控件22</p>
15、;<p> 4.4.3 設計應用程序風格24</p><p> 4.4.4 UI設計端總結24</p><p> 4.5 程序端開發(fā)步驟24</p><p> 4.5.1 聲明資源文件整合UI設計24</p><p> 4.5.2 編寫輔助代碼25</p><p> 4.5.3 編寫
16、其他后臺代碼27</p><p><b> 結 論28</b></p><p><b> 謝 辭29</b></p><p><b> 參考文獻30</b></p><p><b> 外文資料翻譯32</b></p><
17、;p><b> 前 言</b></p><p> 微軟Windows操作系統(tǒng)成功推出已有十多年,在Windows系統(tǒng)平臺上從事圖形用戶界面(Graphic User Interface ,GUI)程序開發(fā)的程序員數(shù)不勝數(shù)。GUI程序員們手中的開發(fā)工具經(jīng)歷了Win32API→MFC(及同類產(chǎn)品)→ActiveX/COM/Visual Basic→Windows Forms的變遷,每一
18、次變遷都使開發(fā)效率和質量產(chǎn)生飛躍。從2007年開始,微軟推出了它的新一代GUI開發(fā)工具Windows Presentation Foundation(直譯為Windows表示基礎,WPF),并且把WPF定為未來十年Windows平臺GUI開發(fā)的主要技術。時至今日,不但Windows Vista、Windows 7、Windows Server 2008、Windows Server 2008R2等系統(tǒng)已經(jīng)無縫集成了WPF,連Visual
19、 Studio 2010等重要產(chǎn)品也已使用WPF進行開發(fā)。</p><p> 隨著計算機技術的不斷發(fā)展,文本編輯器成為大家必不可少的工具,但是不同的用戶對文本編輯器有不同的功能需求,所以除了像Office中的Word還有WPS等大眾文本編輯器,還需要一些帶有一定相關專業(yè)功能的文本編輯器,可以方便用戶進行工作與開發(fā)??紤]到WPF具有更廣闊的可操作空間、更高的執(zhí)行效率和更豐富的本地資源支持。本畢業(yè)設計選定以WPF為
20、基礎,系統(tǒng)了解Framework3.0開發(fā)基礎和WPF應用環(huán)境。通過引入統(tǒng)一的編程模型,運用WPF提供的控件新特性,實現(xiàn)文檔編輯功能。文字編輯功能的實現(xiàn)如:字體、字號、加粗、傾斜、下劃線以及段落格式的設置,也可以在文檔中添加圖片、表格;文本編輯功能的實現(xiàn),如文檔的打開、文本的保存、自動生成HTML;創(chuàng)建超鏈接:點擊超鏈接按鈕可直接實現(xiàn)鏈接功能。這些功能實現(xiàn)了豐富用戶體驗、強化人機交互性能、優(yōu)化用戶界面的目的。</p>&l
21、t;p><b> 第1章 緒論</b></p><p> 1.1 課題背景及目的</p><p> Windows Presentation Foundation 是窗體、文檔、視頻、三維以及其他功能的綜合,因此企業(yè)可以創(chuàng)建持久的用戶體驗解決方案,并集成到客戶的日常活動中。Windows Presentation Foundation 為開發(fā)人員和設計人員
22、提供了統(tǒng)一的 UI 平臺,因此他們只需學習一個模式,就可以獲得無限可能的 UI 體驗。對于.NET 開發(fā)人員,其框架是熟悉的,并且它最終將減少提供最佳用戶體驗和通信邏輯所需的代碼行數(shù)。對于設計人員,Windows Presentation Foundation 提供的平臺可消除內容、媒體和應用程序之間的邊界。最重要的是,Windows Presentation Foundation 可以使開發(fā)人員和設計人員同步緊密地合作來快速提供不同的
23、連通體驗。因此,WPF的開發(fā)理念更符合自然哲學的思想。它也將給Windows應用程序的開發(fā)帶來一次革命,因為新的架構提供了一種全新的開發(fā)模式。</p><p> 當然對于普通用戶而言,最直觀的就是界面越來越漂亮,看起來越來越舒服了;但對于開發(fā)人員而言,界面顯示和代碼將更好的得到分離,這與從前的桌面應用程序開發(fā)有很多不同(界面設置和代碼是融合在一起的),這是比較具有革命性的改變之一。使用WPF進行開發(fā)較之Wind
24、ows Forms開發(fā)要簡單,程序更加簡潔清晰。微軟已經(jīng)把WPF的理念擴展到了幾乎全部平臺,包括桌面平臺、瀏覽器平臺和手機平臺。所以WPF的發(fā)展前景非常好、回報也很大。</p><p> 目前已有很多人開始考慮或者已經(jīng)轉向WPF,一場新的學習熱潮已經(jīng)開始。但根據(jù)我最近的學習和了解,國內關于WPF的資料很少,除了MSDN提供的資料以外,基本都是來自國外的資料,有些則是國外開發(fā)人員BLOG上的資料,當然都是英文的。
25、因此如果現(xiàn)在能夠引進一些WPF技術絕對是很好的時機。而且國外目前的幾本W(wǎng)PF書也是剛剛上市,如果我們可以盡快引進的話,絕對可以幫助國內開發(fā)人員在最短時間內趕上國際步伐。</p><p> 1.2 國內外研究狀況</p><p> 隨著計算機技術的發(fā)展,文字信息處理技術也進行著一場革命性的變革,用計算機打字、編輯文稿、排版印刷、管理文檔,是五彩繽紛的高效實用新技術的一些具體內容。優(yōu)秀的文
26、字處理軟件能使用戶方便自如地在計算機上編輯、修改文章,這種便利是與在紙上寫文章所無法比的。</p><p> 最早較有影響的是MicroPro公司在1979年研制的WordStar(文字之星,簡稱WS),并且很快成為暢銷的軟件。1982年,微軟公司開始了字處理軟件的市場爭奪,比爾·蓋茨將微軟開發(fā)的這款字處理軟件命名為MSWord。1983年,MSWord正式推出,成千上萬的觀眾被Word1.0版的新功
27、能所傾倒。人們第一次看到Word使用了一個叫“鼠標”的東西,復雜的鍵盤操作變成了鼠標“輕輕一點”。Word還展示了所謂“所見即所得”的新概念,能在屏幕上顯示粗體字、底劃線和上下角標,能驅動激光打印機印出與書刊印刷質量媲美的文章……這一切造成強烈的轟動效應。隨著1989年Windows的推出和巨大成功,微軟的字處理軟件Word成為文字處理軟件銷售的市場主導產(chǎn)品。早期的字處理軟件是以文字為主,現(xiàn)代的字處理軟件可以集文字、表格、圖形、圖像、聲
28、音于一體。1989年香港金山電腦公司推出的WPS(Word Processing System),是完全針對漢字處理重新開發(fā)設計的,與WS相比其優(yōu)點主要表現(xiàn)在:字體格式豐富、控制靈活、表格制作方便、下拉菜單方便、模擬顯示實用有效。在當時我國的軟件市場獨占熬頭,但不能</p><p> 從2007年開始,微軟推出了它的新一代GUI(圖形用戶界面)開發(fā)工具Windowns Presentation Foundati
29、on(WPF),并且把WPF定為未來十年Windows平臺GUI開發(fā)的主要技術。而且,由于 Windows Presentation Foundation 是窗體、文檔、視頻、三維以及其他功能的綜合,因此可以創(chuàng)建豐富、持久的用戶體驗,并集成到客戶的日?;顒又小PF作為新興技術還未得到淋漓盡致的顯現(xiàn),盡管它的一部分成果已投入實際應用,但并未得到廣泛應用,因此需要更進一步的發(fā)展。</p><p> 1.3 系統(tǒng)設
30、計研究方法</p><p> 本設計以微軟.NET Framework3.0技術為背景,采用如下三個步驟:</p><p> 1.采用統(tǒng)一編程模型,確定用戶界面和邏輯分離的開發(fā)框架;</p><p> 2.使用微軟最新開發(fā)工具Expression Blend開發(fā)用戶界面和控件,運用WPF提供的控件新特性、新控件,實現(xiàn)程序框架及絢麗的用戶界面效果,并將其生成為X
31、MAL資源文檔;</p><p> 3.在VS2010中導入相關資源文檔,實現(xiàn)邏輯代碼并導入XML數(shù)據(jù)存儲文檔,初步實現(xiàn)具有較豐富用戶體驗的文檔編輯功能。</p><p> 1.4 論文構成及研究內容</p><p> 本論文對WPF開發(fā)環(huán)境、WPF結構、WPF開發(fā)方法進行全面論述,概要說明基于WPF的文檔編輯軟件如何設計與實現(xiàn),并在實踐基礎上簡要闡述WPF的
32、優(yōu)越性。具體包括以下部分:</p><p><b> 1. WPF簡介</b></p><p> (1) WPF技術特點</p><p> (2) XAML簡介</p><p><b> (3) C#簡介</b></p><p> 2. WPF優(yōu)越性詳細分析<
33、/p><p><b> (1) 聲明式編程</b></p><p><b> (2) 觸發(fā)器</b></p><p> (3) 一致的Style</p><p> (4) 豐富的應用程序文本</p><p> (5) 可修改的UI布局</p><p&
34、gt;<b> (6) 整體優(yōu)越性</b></p><p> 3.文檔編輯軟件的實現(xiàn)</p><p><b> (1) 系統(tǒng)環(huán)境</b></p><p><b> (2) 開發(fā)環(huán)境</b></p><p> (3) 總體開發(fā)方案</p><p>
35、; (4) UI設計端開發(fā)步驟</p><p> (5) 程序端開發(fā)步驟</p><p><b> 第2章WPF簡介</b></p><p> 2.1 WPF技術特點</p><p> WPF是Windows Presentation Foundation的簡稱,顧名思義是專門用來編寫程序表示層的技術和工具。當
36、今的程序,除了一些非常小巧的實用工具外,大部分程序都是多層架構的程序。一提到多層架構,一般就至少包含3層:數(shù)據(jù)層、業(yè)務邏輯層和表示層。這3層的功能大致如下:</p><p> 1、數(shù)據(jù)層:用于存儲數(shù)據(jù),多由數(shù)據(jù)庫構成,有時侯也用數(shù)據(jù)文件輔助存儲數(shù)據(jù)。比如醫(yī)院的藥品列表、人員列表、病例列表等都存儲在這一層。</p><p> 2、業(yè)務邏輯層:用于根據(jù)需求使用計算機程序表達現(xiàn)實的業(yè)務邏輯。
37、比如哪些醫(yī)生可以給哪些病人看病,從掛號到取藥都有什么流程,都可以有這層來實現(xiàn)。這一層一般會通過一組服務器(Service)向表示層公開自己的各個功能。因為這一層需要與數(shù)據(jù)庫進行交互,所以經(jīng)常會劃分出一個名為“數(shù)據(jù)訪問層”(Data Access Layer,DAL)的子層專門負責數(shù)據(jù)的存取。</p><p> 3、表示層:負責把數(shù)據(jù)和流程展示給用戶看。對于同一組來自業(yè)務邏輯層的數(shù)據(jù),我們可以選擇多種表達方式。比
38、如對于同一張藥品單。如果想以短信的方式發(fā)送給藥房,可以以一串字符的形式來表達;如果客戶想打印藥品單的詳細內容,可以以表格的形式來表達;如果客戶想直觀地看到每種藥品占總價格的比例,我們可以使用餅圖來表達。除了用于表示數(shù)據(jù),表示層還負責展示流程、響應用戶操作等。而且,表示層程序并不拘泥于桌面程序,很多表示層程序都運行在手機或瀏覽器里。表示層程序也常被稱為客戶端程序。</p><p> WPF的功能就是用來編寫應用程
39、序的表示層。在保持代碼可維護性的前提下,如何讓數(shù)據(jù)能夠順暢地到達界面并靈活顯示,同時方便地接收用戶的操作歷來都是表示層開發(fā)的核心問題。為此人們研究出了各種各樣的設計模式,其中有經(jīng)久不衰的MVC(Model-View-Controler)模式、MVP(Model-View-Presenter)模式等。在WPF出現(xiàn)之前,Windows Forms、ASP.NET(Web Forms)等技術均使用“事件驅動”理念,這種由“事件→訂閱→事件處理
40、器”關系交織在一起構成的程序,盡管可以使用MVC、MVP等設計模式,但是一不小心就會使界面邏輯和業(yè)務邏輯糾纏在一起,造成代碼變得復雜難懂、bug難以排除。而WPF技術則是微軟在開發(fā)理念上的一次升級—由“事件驅動”變成“數(shù)據(jù)驅動”。</p><p> 事件驅動時代,用戶每進行一個操作就會激發(fā)程序發(fā)生一個事件,事件發(fā)生后,用于響應事件的事件處理器就會執(zhí)行。事件處理器是一個方法(函數(shù)),在這個方法中,程序員可以處理數(shù)
41、據(jù)或調用別的方法,這樣,程序就在事件的驅動下向前執(zhí)行了??梢娛录寗訒r代的數(shù)據(jù)是靜態(tài)的、被動的;界面控件是主動的、界面邏輯與業(yè)務邏輯之間的橋梁是事件。而數(shù)據(jù)驅動正好相反,當數(shù)據(jù)發(fā)生變化時,會主動通知界面控件、推動控件展示最新的數(shù)據(jù);同時,用戶對控件的操作會直接送達數(shù)據(jù),就好像控件是“透明”的??梢?,在數(shù)據(jù)驅動理念中,數(shù)據(jù)占據(jù)主動地位、控件和控件事件被弱化(控件事件一般只參與界面邏輯,不再染指業(yè)務邏輯,使程序復雜度得到有效控制)。WPF中
42、,數(shù)據(jù)與控件的關系就是哲學中內容與形式的關系——內容決定形式所以數(shù)據(jù)驅動界面,這非常符合哲學原理。數(shù)據(jù)與界面之間的橋梁是數(shù)據(jù)關聯(lián)(Data Binding),通過這個橋梁,數(shù)據(jù)可以流向界面,再從界面流回數(shù)據(jù)源。</p><p> 簡而言之,WPF的開發(fā)理念更符合自然哲學的思想。使用WPF進行開發(fā)較之Windows Forms開發(fā)要簡單,程序更加簡潔清晰。</p><p> 2.2 XA
43、ML語言簡介</p><p> WPF框架提供XAML基本服務,XAML的引入向開發(fā)者提供UI設計和代碼分離的編程模型。XAML是WPF中提出的一個具有重要意義的新技術,基本涉及WPF中所有UI開發(fā)。下面將詳細介紹XAML。</p><p> 2.2.1 XAML綜述</p><p> XAML(Extensible Application Markup La
44、nguage)的中文名為可擴展應用程序標記語言,它是微軟公司為構建應用程序用戶界面而創(chuàng)建的一種新描述性語言。XAML提供一種便于擴展和定位的語法來定義和程序邏輯分離的用戶界面,而這種實現(xiàn)方式和ASP.NET中的代碼后置模型非常類似。XAML能夠很好地將用戶界面設計與代碼相分離,使圖形設計人員可以創(chuàng)建引人注目的、高度精確的用戶界面,使開發(fā)人員能夠將精力集中在應用程序邏輯上。這個應用程序開發(fā)協(xié)作模型使開發(fā)人員和設計人員能夠緊密而有效地協(xié)同工
45、作。這種代碼與界面開發(fā)分離的編程模型可為程序開發(fā)帶來如下便利: </p><p> 1、UI設計者可集中精力將設計工作做得更好,同時可得到更有效的開發(fā)者支持。</p><p> 2、隨著軟件外包和訂購的逐漸風行,WPF使得一些商業(yè)設計者能更好的從事界面設計工作,并集成一些簡單功能,而購買的核心代碼能夠獨立的完成內部的一些關鍵邏輯而不干擾設計過程。</p><p&g
46、t; 3、更好的支持應用軟件的國際化。不同的獨立的界面可以使用不同的本地化方案,而內部的代碼通用。</p><p> 4、支持軟件的“空標簽”,可以為不同的用戶采用定制的界面而保持核心的邏輯不變。開發(fā)者創(chuàng)建程序邏輯,然后為不同的用戶使用不同的界面并貼上他們的商標等。 </p><p> XAML簡化.Net Framework 3.0編程模式中的用戶界面創(chuàng)建過程,使用XAML開發(fā)人員
47、可以對WPF程序的所有用戶界面元素,例如文本、按鈕、圖像和列表框等進行詳細的定置,同時還可以對整個界面進行合理化的布局,這與使用HTML非常相似。但是由于XAML基于XML,所以它本身是一個組織良好的XML文檔,而且相對于HTML,它的語法更嚴謹、更明確。</p><p> 大多數(shù)的WPF程序可能同時包含程序代碼和XAML。開發(fā)者可使用XAML定義應用程序的初始界面,而后才編寫相應的功能實現(xiàn)代碼。同時也可將邏輯
48、代碼直接嵌入到一個XAML文件中,也可將它保留在一個單獨的文件中。實際上,能夠用XAML實現(xiàn)的所有功能都可以使用程序代碼來完成。但一般而言,程序代碼的優(yōu)勢在于流程處理和邏輯判斷,而不是界面的構建。而XAML則是集中關注于界面的編程,開發(fā)者可以將它和其它的.NET語言配合使用,從而構建出一個功能完善、界面美觀的WPF程序。</p><p> 2.2.2 XAML特點</p><p> X
49、AML是可擴展的,開發(fā)人員可以創(chuàng)建自定義的控件、元素和函數(shù)來擴展XAML。而且由于XAML各元素在本質上就是WPF類的映射,開發(fā)人員可以很輕松地使用面向對象的技術對XAML元素進行擴展。即開發(fā)人員可以開發(fā)一些自定義控件和組合元素,并將它公開給用戶界面設計人員和其它的開發(fā)人員使用。</p><p> XAML是一種純正的、用來描述用戶界面構成元件和編排方式的標記語言。盡管有部分的XAML語法具備程序設計語言的特性
50、(例如XAML中的Trigger和Transform),但是XAML并不是一種用于程序設計的語言,它的功能也不是為執(zhí)行應用程序邏輯。</p><p> XAML是一種解析性的語言,盡管它也可以被編譯。微軟推薦XAML被編譯成二進制語言程序標記語言BAML。XAML和BAML都可以被WPF解析,并且以一種和HTML相似的方式進行界面的呈現(xiàn)。但是和HTML不同的是,XAML是強類型化的,即HTML會忽略那些它不能識
51、別的元素和屬性,而XAML必須在識別所有的元素和屬性的情況下,才對頁面進行呈現(xiàn)。盡管在XAML中各個屬性都是以字符串(例如Background)表示,但是這些字符串實際上代表的是WPF中的對象,只有被WPF識別的對象才可以作為元素的屬性。</p><p> XAML和WPF類庫緊密相關,所有可以在XAML中使用的元素其實都是一個類,例如<Button>元素就與類庫中的System Windows C
52、ontrols Button相對應。正是因為上述的繼承關系以及XAML中的每個元素均代表一個WPF類,所以XAML也存在一些面向對象體系結構的特性。例如,一個元素派生自另外的一個XAML元素,那么該元素將繼承其父元素的特性。開發(fā)者也可以將自己編寫的類用作XAML的元素,正如XAML的中文名稱為可擴展應用程序標記語言,任何一個具有公共的無參數(shù)的構造函數(shù)以及可設置屬性的類均可在XAML中使用。</p><p><
53、;b> 2.3 C#簡介</b></p><p> WPF提供C#基本服務,C#向開發(fā)者提供后臺方法的調用。本次設計中涉及的后臺方法調用由C#完成。下面將詳細介紹C#。</p><p> 2.3.1 C#綜述</p><p> C#(C Sharp)是微軟(Microsoft)為.NET Framework量身訂做的程序語言,微軟公司在20
54、00年6月發(fā)布的一種新的編程語言。C#擁有C/C++的強大功能以及Visual Basic簡易使用的特性,是第一個組件導向(Component-oriented)的程序語言,和C++與Java一樣亦為對象導向(object-oriented)程序語言。</p><p> 微軟C#語言定義主要是從C和C++繼承而來的,而且語言中的許多元素也反映了這一點。C#在設計者從C++繼承的可選選項方面比JAVA要廣泛一些,
55、它還增加了自己新的特點。C#還需要進化成一種開發(fā)者能夠接受和采用的語言。而微軟當前為它的這種新語言大造聲勢也是值得注意的。目前大家的反應是:“這是對JAVA的反擊”。C#更像JAVA一些,雖然微軟在這個問題上保持沉默。這也是意料中的事情,因為JAVA近來很成功而使用JAVA的公司都報告說它們在生產(chǎn)效率上比C++獲得了提高。 </p><p> JAVA所帶來的巨大影響和大家對它的廣泛接受已經(jīng)由工作于這種語言
56、和平臺之上的程序員數(shù)量明顯的說明了。由這種語言寫成的應用程序的數(shù)量是令人驚訝的并已經(jīng)滲透了每一個級別的計算,包括無線計算和移動電話。C#能夠在用戶領域獲得這樣的禮遇嗎?我們必須等待并觀望,就象已經(jīng)由SSI公司的CEO和主席KALPATHI S. SURESH指出來的那樣:“我發(fā)現(xiàn)所有這些都是漸進的。如果C#不存在,我們總能回到JAVA或C和C++。這些都不完全是新技術,它們在更大的意義上來說只是大公司制造的市場噱頭。我們必須給他們時間安
57、頓下來看看這些是不是真的對IT工業(yè)有什么影響。” </p><p> C# (C SHARP)是微軟對這一問題的解決方案。C#是一種最新的、面向對象的編程語言。它使得程序員可以快速地編寫各種基于Microsoft .NET平臺的應用程序,Microsoft .NET提供了一系列的工具和服務來最大程度地開發(fā)利用計算與通訊領域。正是由于C#面向對象的卓越設計,使它成為構建各類組件的理想之選——無論是高級的商業(yè)對
58、象還是系統(tǒng)級的應用程序。使用簡單的C#語言結構,這些組件可以方便的轉化為XML網(wǎng)絡服務,從而使它們可以由任何語言在任何操作系統(tǒng)上通過Internet進行調用。最重要的是,C#使得C++程序員可以高效的開發(fā)程序,而絕不損失C/C++原有的強大的功能。因為這種繼承關系,C#與C/C++具有極大的相似性,熟悉類似語言的開發(fā)者可以很快的轉向C#。</p><p> 2.3.2 C#優(yōu)勢</p><p
59、> 1、動態(tài)查閱:C# 4.0 新增 dynamic關鍵字,提供動態(tài)編程(dynamic programming)把既有的靜態(tài)對象標記為動態(tài)對象,類似javascript,Python或 Ruby。</p><p> 2、具名參數(shù)與可選參數(shù):public StreamReader OpenFile(string path, int bufferSize =1024) {…}調用OpenFile 時,
60、順序可以完全顛倒:OpenFile(bufferSize:4096,path:"foo.txt");</p><p> 3、中間代碼:微軟在用戶選擇何時MSIL應該編譯成機器碼的時候是留了很大的余地,微軟公司很小心的聲稱MSIL不是解釋性的,而是被編譯成了機器碼。它也明白許多程序員認為JAVA程序要不可避免的比C編寫的任何東西都要慢,而這種實現(xiàn)方式?jīng)Q定了基于MSIL的程序將在性能上超過“解釋
61、性的”JAVA代碼。當然,這一點還需要得到事實證明,因為C#和其他生成MSIL的編譯器還沒有發(fā)布。但是Java JIT編譯器的普遍存在使得JAVA和C#在性能上相對相同,像“C#是編譯語言而JAVA是解釋性的”之類的聲明只是商業(yè)技巧。JAVA的中間代碼和MSIL都是中間的匯編形式的語言,它們在運行時或其它的時候被編譯成機器代碼。</p><p> 4、命名空間中的申明:當你創(chuàng)建一個程序的時候,你在一個命名空間里
62、創(chuàng)建了一個或多個類,同在這個命名空間里(在類的外面)你還有可能聲明界面,枚舉類型和結構體。必須使用using關鍵字來引用其他命名空間的內容。</p><p> 5、基本的數(shù)據(jù)類型:C#擁有比C/C++或者JAVA更廣泛的數(shù)據(jù)類型。這些類型是bool、byte、ubyte、short、ushort、int、uint、long、ulong、float、double和decimal。像Java一樣,所有這些類型都有一
63、個固定的大小,又像C和C++一樣,每個數(shù)據(jù)類型都有有符號和無符號兩種類型。與JAVA相同的是,一個字符變量包含的是一個16位的Unicode字符。C#新的數(shù)據(jù)類型是decimal數(shù)據(jù)類型,對于貨幣數(shù)據(jù),它能存放28位10進制數(shù)字。</p><p> 6、兩個基本類:一個名叫object的類是所有其他類的基類。而一個名叫string的類也像object一樣是這個語言的一部分。作為語言的一部分存在意味著編譯器有可能
64、使用它,無論何時你在程序中寫入一句帶引號的字符串,編譯器會創(chuàng)建一個string對象來保存它。</p><p> 7、參數(shù)傳遞:方法可以被聲明接受可變數(shù)目的參數(shù)。缺省的參數(shù)傳遞方法是對基本數(shù)據(jù)類型進行值傳遞。ref關鍵字可以用來強迫一個變量通過引用傳遞,這使得一個變量可以接受一個返回值。out關鍵字也能聲明引用傳遞過程,與ref不同的地方是,它指明這個參數(shù)并不需要初始值。</p><p>
65、 8、與COM的集成:C#對Windows程序最大的賣點可能就是它與COM的無縫集成了,COM就是微軟的Win32組件技術。實際上,最終有可能在任何.NET語言里編寫COM客戶和服務器端。C#編寫的類可以子類化一個已存在的COM組件,生成的類也能被作為一個COM組件使用,然后又能使用,比方說,Jscript語言子類化它從而得到第三個COM組件。這種現(xiàn)象的結果是導致了一個運行環(huán)境的產(chǎn)生,在這個環(huán)境里的組件是網(wǎng)絡服務,可用任何.NET語言
66、子類化。</p><p> 9、索引下標:一個索引與屬性除了不使用屬性名來引用類成員而是用一個方括號中的數(shù)字來匿名引用(就象用數(shù)組下標一樣)以外是相似的。 </p><p> 10、代理和反饋:一個代理對象包括了訪問一個特定對象的特定方法所需的信息,只要把它當成一個聰明的方法指針就行了。代理對象可以被移動到另一個地方,然后可以通過訪問它來對已存在的方法進行類型安全的調用。一個反饋方法是
67、代理的特例.event關鍵字用在將在事件發(fā)生的時候被當成代理調用的方法聲明中。</p><p> 第3章 WPF優(yōu)越性詳細分析</p><p> 第二大部分WPF簡介中已簡要介紹WPF的結構和功能。而本部分將對其作詳細展開,結合開發(fā)實踐,具體介紹WPF中最具亮點的新技術,并討論如何在實際開發(fā)中應用WPF所提供的新技術,分別闡明這些新技術的優(yōu)勢。</p><p>
68、<b> 3.1 聲明式編程</b></p><p> WPF中最醒目的體系結構是聲明性編程用法。在聲明性編程中,重點在于“做什么”而不是“如何做”。開發(fā)者只需聲明要系統(tǒng)做什么,而不是列出它為此必須執(zhí)行的一組操作。SQL是一個規(guī)范的示例,開發(fā)者只需構造聲明要檢索信息的SQL查詢;至于如何執(zhí)行該查詢則由數(shù)據(jù)庫解決。</p><p> 此處展示依賴于聲明性方法的幾個
69、示例。需提供自定義圖形,開發(fā)者可以創(chuàng)建表示圖形的對象,然后WPF會處理將這些圖形呈現(xiàn)到屏幕的過程,包括在屬性更改時更新該屏幕。同樣,開發(fā)者解釋如何創(chuàng)建特定的對象,然后 WPF 將執(zhí)行實際的界面。開發(fā)者也看到布局元素如何用于聲明 UI 的排列方式,即無需以手動方式定位元素或者編寫代碼來確定它們的位置和大小。</p><p> 聲明性風格有很多優(yōu)勢。最重要的一點是,它通??梢援a(chǎn)生更簡單、更易于讀取的程序。只聲明需要
70、做什么的代碼通常比執(zhí)行實際工作的代碼短得多,這是布局要求的一個簡潔表達方式。由于它顯式闡明它的意圖,因此計算出該聲明性代碼的操作通常更加容易。因此,無需維護開發(fā)人員進行大量工作來推斷該代碼的意圖。聲明性代碼也可以使設計工具的工作更為出色。由于開發(fā)者明確提出自己的意圖,因此設計工具可理解開發(fā)者要達到什么樣的效果。此外,使用聲明性編程,該框架在執(zhí)行該工作時具有很大的自由度,這可以潛在啟動重要的優(yōu)化。</p><p>
71、 由于 WPF 允許以聲明方式定義一個 UI 的行為的許多方面,因此用 XAML 表達這些行為非常簡單。雖然布局是應用程序運行時行為的一些方面,但是開發(fā)人員可以使用 XAML 以聲明方式定義這些行為,最終將該功能提供給設計人員。</p><p><b> 3.2 觸發(fā)器</b></p><p> 觸發(fā)器是一個聲明性機制,用于指定控件應該如何響應某個操作。觸發(fā)器可
72、以在風格或模板內聲明。而且,觸發(fā)器可用于激發(fā)動畫。例如,開發(fā)者可想令一按鈕在鼠標位于它上面時變成另一種顏色。動畫在本質上與屬性不同,屬性是暫時的。雖然開發(fā)者可以將屬性設置為一個值,但無法將動畫設置為一個值,相反可以將動畫設置為開始和停止。因此,動畫觸發(fā)器由事件驅動,而不是由屬性驅動。</p><p> 觸發(fā)器是 WPF 的聲明性方法的一個重要部分。這是能為設計人員提供更多幫助的另一個功能,它使開發(fā)人員能夠設計一
73、個無需開發(fā)人員的代碼就能夠響應操作的 UI,從而方便的實現(xiàn)動態(tài)效果。</p><p> 3.3 一致的style</p><p> 在Web開發(fā)中,Style是一組屬性,這些屬性可以應用于文檔的某個部分以便獲取特定的外觀。WPF中的Style與此非常類似,但是它們可以應用于用戶界面中的任何元素,而不僅僅是文檔的某些部分。</p><p> 雖然WPF Styl
74、e可用于設置任何屬性,但是使用Style的目的通常是確??鐟贸绦虻目梢曇恢滦?。如果設計者想讓應用程序傳送一個舊式外觀,則可以創(chuàng)建一個風格以便一致應用適當?shù)膶傩浴?lt;/p><p> WPF style提供一個有用的機制,即在獨立于應用程序行為和結構的情況下管理應用程序的外觀。該分離使開發(fā)人員可以專門致力于定義應用程序的行為,而使設計人員專門致力于設計程序外觀。</p><p> 3.4
75、 豐富的應用程序文本</p><p> Windows 應用程序中的文本長期受困于Web應用程序提供的文本功能。HTML和層疊樣式表可提供具有大量文本布局和格式化功能的應用程序。而另一方面,Windows 應用程序具有的支持卻極少。</p><p> 當然,可使用Win32顯示豐富的格式化文本,但該編程任務量極大。開發(fā)者也可以嵌入MSHTML控件并顯示文本。但該技術不能完全將文檔性質的
76、文本呈現(xiàn)直接集成到應用程序中,這意味著某些應用程序區(qū)域無法從MSHTML中獲益。由MSHTML托管的文檔顯示與應用程序的其余部分之間形成鮮明的對比。</p><p> WPF使得將豐富的格式化文本集成到用戶界面中更加容易。甚至最簡單的文本處理元素TextBlock控件也使能使用字體風格、大小、顏色和字體的任意組合。再者,它比Windows窗體中的普通Label控件更為強大。即使開發(fā)者只需要可使用Label獲取的
77、純文本,TextBlock仍然非常易于使用。要放棄特殊的格式化,只需為其提供一個簡單的字符串顯示。</p><p> 此外,對于需要顯示大量文本的應用程序而言,WPF提供高級文本布局功能。例如,DocumentViewer控件顯示文本文檔,從而使用高級文本布局探測法針對可用空間和分辨率優(yōu)化文本的可讀性。該文本布局技術結合Microsoft在屏幕可讀性方面的廣泛研究成果。</p><p>
78、 使文本具有良好外觀對于生成界面美觀的應用程序至關重要。但更重要的是確保應用程序的所有可視部分以正確的大小顯示在正確的位置,而無論用戶如何選擇排列其窗口。</p><p> 3.5 可修改的UI布局</p><p> 多數(shù)應用程序設計人員都難以掌握其程序的運行大小。不同PC間的屏幕大小差別很大。此外,一些用戶以最大化方式(充滿整個屏幕)運行應用程序,而其他用戶使用較小的窗口以便可以同
79、時看到若干個應用程序。</p><p> 這并沒有妨礙一些設計人員設計只以一種大小工作的UI,但是,若想滿足用戶的需要,就應該生成一個具有可以將自身修改為可用空間的布局的 UI。如需要使應用程序可訪問且可本地化,這種適用性也非常有用。一個足夠適用的UI無需重新設計,即可以一種屏幕的低分辨率呈現(xiàn),或者可以轉換為所有單詞都是兩倍長度的語言。</p><p> WPF提供功能強大的布局元素工
80、具箱,這些元素使得生成具有適應性布局的UI 更加容易。WPF提供五種布局面板:Canvas、DockPanel、StackPanel、Grid和WrapPanel。</p><p> Canvas支持(x,y)絕對定位,與 GDI 和 GDI+ 目前提供的功能類似。StackPanel 提供一個從左至右或從上至下放置內容的堆棧模型。WrapPanel 布局與流布局相似,其中UI元素的排列方式就像單詞在文本中的排
81、列方式一樣:從左到右,然后在當前行滿時進入下一行首。Grid提供一個允許進行行/網(wǎng)格定位的模型,是一個啟用類似網(wǎng)格或表布局的強大布局元素,與HTML表元素十分相似。由于其通用的適用性,Grid的使用可能比其他布局面板更多。</p><p> 3.6 整體的優(yōu)越性</p><p> 本部分前幾節(jié)具體介紹WPF中最具亮點的新技術,并討論這些技術在開發(fā)中的應用。本節(jié)則從整體上分析WPF優(yōu)越性
82、。</p><p> 1、繼承:WPF提供統(tǒng)一服務API。開發(fā)人員目前正面臨無數(shù)種不同技術和 API 的選擇,具體取決于他們是面向2D圖形(GDI或GDI+)、用戶界面(USER32或Windows 窗體)、媒體(DirectShow)還是3D(Direct3D或OpenGL)。WPF提供一個與上述所有服務正交的單個模型,并允許將內容無縫地集成到單個應用程序??墒褂孟嗤臉嬙靵韺崿F(xiàn)動畫、數(shù)據(jù)綁定和樣式設置,而無
83、需顧及是面向2D、3D還是文本內容。</p><p> 2、聲明性編程:WPF引入XAML,這是一種基于XML的語言,用于實例化和填充嵌套對象層次結構。盡管XAML并非專門局限于WPF,但其本質上適合于諸如 UI 定義和構建這樣的任務。XAML的設計使應用程序可在運行時分析和操縱動態(tài)工作流方案的UI邏輯。重要的是,WPF中體現(xiàn)的XAML代碼隱藏模型使設計人員和開發(fā)人員可使用諸如Expression“Sparkl
84、e”這樣的工具以及第三方專家工具(包括ZAM 3D 和 Mobiform Aurora),相互協(xié)作來完成客戶端應用程序的設計和開發(fā)。</p><p> 3、簡易的部署:通過對獨立應用程序和 Web 瀏覽器應用程序的支持,WPF提供兩種部署模型中的最佳模型。Web 瀏覽器應用程序從Internet Explorer內部運行,占據(jù)整個窗口或在嵌入式框架中,可提供Web應用程序所聞名的易于部署的特點,并且在部分信任的
85、沙箱內操作(沙箱能防止客戶端計算機受到惡意應用程序的侵害)。Web 瀏覽器應用程序仍可利用本地客戶端硬件,并使用3D和媒體服務獲得目前可以得到的最豐富的Web體驗。另一方面,獨立應用程序通過ClickOnce或MSI技術在本地安裝,并且提供對基礎平臺的完全訪問。</p><p> 第4章 文檔編輯軟件的實現(xiàn)</p><p><b> 4.1 系統(tǒng)環(huán)境</b><
86、;/p><p> Windows 7旗艦版</p><p><b> 4.2 開發(fā)環(huán)境</b></p><p> 4.2.1 Microsoft .NET Framework 3.0</p><p> Microsoft .NET Framework 3.0 是用于 Windows®的新托管代碼編程模型。它
87、將 .NET Framework 版本 2.0 的強大功能與新技術結合,用于構建具有視覺上引人注目的用戶體驗的應用程序,實現(xiàn)跨技術邊界的無縫通信,并且能支持各種業(yè)務流程。</p><p> 4.2.2 WinFX Software Development Kit (SDK)</p><p> SDK包括用于構建 WPF托管應用程序的文檔、工具和示例,還包括針對 WPF進行開發(fā)的 Vis
88、ual Studio 2010 工具支持,其中包括用于構建在瀏覽器內部和外部均可運行的應用程序的已更新模板以及WPF控件。IntelliSense 是為代碼和標記提供的,除集成的幫助外,還啟用編譯和調試支持。同樣,發(fā)行說明中還提供有關所需組件的信息和正確的安裝順序,以確保所有選項設置正確。</p><p> 4.2.3 Visual Studio 2010</p><p> Visua
89、l Studio 2010是微軟發(fā)布的高效集成開發(fā)環(huán)境。</p><p> 4.2.4 Visual Studio 2010 Extensions for WCF, WPF</p><p> 該擴展可在Visual Studio 2010添加WPF程序模板,支持WPF開發(fā)。</p><p> 4.2.5 Microsoft Expression Blend&l
90、t;/p><p> 全新的,全功能的職業(yè)設計工具,用于創(chuàng)造基于Microsoft Windows平臺的豐富、復雜的應用界面。使用Expression Blend可以提供更出色的應用軟件并提升客戶的體驗和滿意度。Expression Blend 包括與Microsoft Visual Studio 2010 的集成性,讓設計者和開發(fā)者能夠更緊密地作為一個團隊協(xié)作。</p><p> 4.3
91、總體開發(fā)方案</p><p> 采用統(tǒng)一編程模型,確定用戶界面和邏輯分離的開發(fā)框架。然后使用微軟最新開發(fā)工具Expression Blend開發(fā)用戶界面和控件,運用WPF提供的控件新特性、新控件,實現(xiàn)文檔編輯程序框架及絢麗的用戶界面效果,并將其生成為XMAL資源文檔。最后在VS2010中導入相關資源文檔,實現(xiàn)邏輯代碼并導入XML數(shù)據(jù)存儲文檔,初步實現(xiàn)具有較豐富用戶體驗,界面美觀,具有較強人機交互的文檔編輯軟件。
92、具體實現(xiàn)如圖所示:</p><p> 圖4-3-1 FlowDocument編輯界面</p><p> 圖4-3-2 HTML code界面</p><p> 本系統(tǒng)采用用戶界面和邏輯分離的開發(fā)框架,模擬UI設計者和程序開發(fā)者兩方分離開發(fā)。故以下步驟分為UI設計端和程序開發(fā)端。</p><p> 4.4 UI設計端開發(fā)步驟</p
93、><p> 4.4.1 開發(fā)應用程序框架</p><p> 目前對于大多數(shù)開發(fā)人員而言,大部分的頁面結構是在dreamweaver中完成界面設計的。而我們該程序是在Microsoft Expression Blend中完成網(wǎng)頁的界面定型,然后在vs2010中完成程序的代碼。</p><p><b> ?。?)開發(fā)整體框架</b></p&g
94、t;<p> 首先在Microsoft Expression Blend中將應用程序框架劃分,然后在劃分好的框架的各個部分中,將要實現(xiàn)的控件用空標簽預先定位。并生成主框架XAML文件。此處使用聲明性語句,對框架各個部分進行控制。</p><p><b> (2)實現(xiàn)框架效果</b></p><p> 在Microsoft Expression Bl
95、end中設計出FlowDocument、HTML Browser、HTML code三個選擇界面,并將三個界面和下邊將要設計的內容和模版控件整合為一體,使得軟件的整體框架閑的大氣。</p><p> 4.4.2 開發(fā)控件</p><p> ?。?)基于內容模型和模板控件開發(fā)外觀</p><p> 基于WPF 內容模型和模板控件技術,可在Microsoft Exp
96、ression Blend中設計控件的外形、風格。本設計中的大部分控件都是基于內容模型和模板編寫實現(xiàn)的。在WPF中,所有控件都被視為一種容器,可在控件中放置任何內容。這導致控件嵌套的多樣化,促生很多可視化設計的可能性。本設計中的控件利用此內容模型,基本上都進行重寫,以便得到更為絢麗的圖形表現(xiàn)。而且WPF也支持基于內容模型創(chuàng)建的模版控件。</p><p> 本步驟將以Roster控件為例,說明如何開發(fā)控件外觀和為
97、控件添加內容。</p><p> 首先在Microsoft Expression Blend中以可視化開發(fā)環(huán)境,通過多邊形繪制和插入,再將該外觀生成對應的XAML代碼段保存,并將該XAML代碼段放入GRID標簽,使之成為一種布局。并將此布局作為內容添加到Roster控件的模版item_RosterDetails。</p><p> 最后將此布局代碼段放入ControlTemplate標
98、簽中,使其成為能被引用的資源文件,提交給程序開發(fā)者。</p><p> ?。?)控件交互性設計</p><p> 雖然模版和內容模型已經(jīng)能為應用程序提供出色的外觀設計,但要達到增強交互性的目的,需利用觸發(fā)器和故事板。觸發(fā)器已經(jīng)在第三部分進行過簡要介紹,下面將簡單說明在設計中如何使用觸發(fā)器和故事板實現(xiàn)較強交互性。</p><p> 觸發(fā)器可識別多種系統(tǒng)已定義的狀態(tài)
99、如IsMouseOver等,同時也能識別指定對象屬性的變化,進而觸發(fā)相應事件。這使得UI設計者能簡單指定事件和表現(xiàn)的聯(lián)系,而不用使用復雜后臺代碼實現(xiàn)。本設計中主要控件都已添加觸發(fā)器,以實現(xiàn)更強大的交互功能。</p><p> 觸發(fā)器主要通過在元素中嵌套Trigger元素實現(xiàn),并使用Property屬性指定監(jiān)測項 。如下代碼段利用WPF觸發(fā)器提供的函數(shù),實現(xiàn)鼠標點擊后控件的外觀轉換為item_BigRosterD
100、etails模板。</p><p> <Style.Triggers></p><p> <Trigger Property="Selector.IsSelected" Value="True"></p><p> <Setter Property="Template"
101、Value="{DynamicResource item_BigRosterDetails}" /></p><p> </Trigger></p><p> </Style.Triggers></p><p> WPF提供的另一個促進交互式的新技術是故事板。故事板屬于WPF動畫服務部分,允許開發(fā)者使用XAML
102、描述界面的變化,并將其轉變?yōu)閯赢嬙谄聊簧喜シ?。本設計為其中主要控件都添加動畫板,以獲得更優(yōu)秀的交互性。</p><p> 如下段代碼定義一個簡單動畫,使鼠標移至ListBox相應控件上時,該控件呈現(xiàn)一個放大縮小的動畫過程。</p><p> <Trigger.EnterActions></p><p> <BeginStoryboard>
103、;</p><p> <Storyboard></p><p> <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetProperty="(ScaleTransform.ScaleY)" Storyboard.TargetName="
104、LayoutScaleTransform" DecelerationRatio="1"></p><p> <SplineDoubleKeyFrame d:KeyEase="Linear;Linear;0.5;0.5;0.5;0.5" KeySpline="0.5,0.5,0.5,0.5" Value="1.03&quo
105、t; KeyTime="00:00:00.15"/></p><p> </DoubleAnimationUsingKeyFrames></p><p> <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetProperty="
106、(ScaleTransform.ScaleX)" Storyboard.TargetName="LayoutScaleTransform" DecelerationRatio="1"></p><p> <SplineDoubleKeyFrame d:KeyEase="Linear;Linear;0.5;0.5;0.5;0.5"
107、KeySpline="0.5,0.5,0.5,0.5" Value="1.03" KeyTime="00:00:00.15"/></p><p> </DoubleAnimationUsingKeyFrames></p><p> </Storyboard></p><p>
108、; </BeginStoryboard></p><p> </Trigger.EnterActions></p><p> 4.4.3 設計應用程序風格</p><p> WPF Style提供一個有用的機制:在獨立于應用程序行為和結構的情況下管理應用程序的外觀,設計者不需要逐個編寫繪制控件和框架的外形。該技術在第三部分也已做詳細介
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- (畢業(yè)設計)基于wpf的文檔編輯軟件的設計與實現(xiàn)
- 基于WPF的節(jié)奏訓練軟件的設計與實現(xiàn).pdf
- 基于java的文本編輯軟件設計與實現(xiàn)
- 畢業(yè)設計---基于cs即時網(wǎng)絡通訊軟件的設計與實現(xiàn)
- 基于android平臺的聊天軟件設計與實現(xiàn)畢業(yè)設計論文
- 基于mtk平臺通話管理軟件的設計與實現(xiàn)-畢業(yè)設計
- 畢業(yè)設計---文檔管理系統(tǒng)的實現(xiàn)
- 軟件畢業(yè)設計--網(wǎng)上購物系統(tǒng)的設計與實現(xiàn)
- 畢業(yè)設計--文檔資料管理系統(tǒng)的設計與實現(xiàn)
- 基于java的rsa文件加密軟件的設計與實現(xiàn)畢業(yè)設計論文
- 基于android平臺的聊天軟件設計與實現(xiàn)畢業(yè)設計論文
- 校園軟件屋的設計與實現(xiàn)【畢業(yè)設計】
- 任意波形編輯軟件的設計與實現(xiàn).pdf
- 基于WPF的運動中心管理系統(tǒng)的設計與實現(xiàn).pdf
- 基于web的畢業(yè)設計管理系統(tǒng)的設計與實現(xiàn)畢業(yè)設計
- 畢業(yè)設計---qpsk調制與解調的軟件實現(xiàn)
- 基于wpf構建組態(tài)軟件系統(tǒng)的技術研究與實現(xiàn)
- 畢業(yè)設計 基于web的畢業(yè)設計選題系統(tǒng)的設計與實現(xiàn)
- 畢業(yè)設計---基于bs模式即時通訊軟件的設計與實現(xiàn)
- 基于wpf的人事管理系統(tǒng)的設計與實現(xiàn)(1)
評論
0/150
提交評論