在我們從小到大的學習生涯中,老師通過言傳身教的方式傳遞知識,或者課外業餘時間自己學習知識,但這些知識大都是從書本上來的。詩聖杜甫曾説過“讀書破萬卷,下筆如有神”,書法大家顏真卿也曾説過“三更燈火五更雞,正是男兒讀書時”。隨着科技的進步和互聯網的發展,書已經不再侷限於紙質的形式了,不斷涌現出了各種新的知識呈現形式,最常見的就是博客,公眾號,社區等,以圖文並茂的形式向大家傳遞信息,再後來短視頻興起,一時間各種短視頻滿天飛,人們都在裏面汲取知識和信息。
小編從小就有一個作家夢,還記得高中時代第一次看到金庸老師的天龍八部小説時,一時間竟沉迷其中,挑燈夜讀,也曾感嘆這小説寫得真好!要是自己也能寫一本小説就好了,不過這個夢想一直未曾實現。後來畢業以後,開始從事計算機軟件開發相關工作,每每有不懂的知識,都要從網上搜索相關內容,久而久之,自己也養成了寫博客的習慣,在網上獲取知識的同時,也在傳遞知識。剛開始是一篇一篇地寫,純粹是為了記錄工作中遇到的問題點,以供大家學習參考,慢慢地開始成系列地寫,在博客寫作的過程中,收到了很多讀者的反饋和鼓勵,再後來開始創建自己的個人公眾號,在不斷的創作中,既鞏固了自己的知識體系,同時也收穫了一批忠實讀者。
在一次偶然的機會,結識了出版社於老師,問是否可以寫一本WPF相關的書籍,説實話當時既高興又害怕,既想寫又怕水平不夠寫不好。後來經過不斷思考,並且將此想法告訴了妻子,同時也得到了妻子的大力支持。當決定開始寫書的那一刻,彷彿做了一個重要的決定一樣,從此開始了漫長的寫書之路!
開始寫書之後才知道,寫博客容易寫書難,寫博客可以興之所至寫一篇,然而寫書就不一樣了,要求每個知識點都要仔細琢磨,謹慎,嚴謹,不僅要自己看得懂,還要兼顧其他不同程度的讀者也能看懂。由於白天還要工作,只有晚上下班以後才能開始做自己的事情。所以在決定寫書到交稿的幾個月裏,常常一不小心就寫到了凌晨。每當絞盡腦汁寫不出來時,也曾想過要放棄,也曾想草草了事,然而同時又在想,既然決定了寫書,就要對得起讀者,同時也要對得起自己的努力。
本書以WPF入門與開發為主題,主要包含.NET開發的基礎入門知識,WPF基礎控件與佈局,資源與樣式,屬性,事件,命令,及數據綁定,模板,繪圖,動畫,MVVM等相關內容,同時還在每一個章節的最後增加了實例講解,以及綜合實戰開發講解等內容。實踐是檢驗真理的唯一標準,而軟件開發更是以實操為主,所謂“紙上得來終覺淺,絕知此事要躬行”正是此意。
可能有些朋友會問:微軟在Windows Form程序之後,為什麼又推出了WPF呢?我們學習WPF又會有什麼收益呢?或者説WPF的前景如何呢?相信這是每一個學習WPF都很關心的問題。其實大家都知道,在實際應用中,隨着項目的越來越大,功能也越來越多,代碼的可維護性就變得越來越重要,為此人們研究出各種設計模式,如經典的MVC(Model - View - Controller),MVP(Model - View - Presenter)等。在WPF出現之前,Windows Form,以及ASP.NET等技術,都採用“事件驅動”理念,雖然使用了MVC,MVP等設計模式,經常一不小心,就會將業務邏輯和UI頁面交織在一起,使得代碼變得複雜難懂,而WPF技術則是微軟在開發理論上的一次升級,由“事件驅動”升級為了“數據驅動”。這樣可以使得UI和業務邏輯進行清晰的分離,數據與UI之間的交互通過Binding完成。而且微軟已經把WPF的理念擴展到了幾乎所有開發平台,包括桌面平台,瀏覽器,手機平台等。
同時隨着工業4.0時代的到來,大量的工廠開始利用信息化技術促進產業變革,工業自動化相關的軟件系統基本上都是採用WPF技術進行開發的,這就導致工業領域對懂得WPF技術相關人員的需求缺口非常大,而且薪資待遇也很可觀。同樣WPF在其他領域的市場佔有率也相當不錯,所以學習WPF的發展前景非常好,回報也很不錯,投入一些時間精力來學習也是非常值得的。
由於本人的水平有限,雖然在寫作的過程中盡力地去追求完美,有些知識點也加入了自己的一些見解和判斷,對WPF的知識體系一直在探索中前行,所以難免會有所疏漏。如有疏漏,希望大家能夠多一份寬容,並提出寶貴的建議,我將在後續的版本中不斷完善內容,修正錯誤。最後,希望本書能夠為大家在學習WPF的道路上盡一份綿薄之力,同時也希望大家能夠在WPF的道路上越走越順,越來越好!