以前一篇《工欲善其事,必先利其器。VS2013全攻略(安裝,技巧,快捷鍵,插件)!》 看到不少朋友回覆和支持,很是感謝,尤爲是一些拍磚的噴油,感謝大家的批評,受益良多。html
我第一份工做即是WPF的開發,一直到如今都很是喜歡這門技術,從懵懵懂懂到如今有一些WPF開發資歷,也算是經歷了一段坎坷的過程。個人朋友看到我寫了VS2013的全攻略,他就推薦我寫一個WPF篇,我想了下,的確不少朋友初接觸WPF的時候不免會以爲WPF開發十分困難,歸其緣由,不少時候是出錯後並不知道如何調試毫無頭緒。下面我便順着個人開發歷程來分享一些有利於WPF開發的小工具們。程序員
[小九的學堂,致力於以平凡的語言描述不平凡的技術。如要轉載,請註明來源:小九的學堂。cnblogs.com/xfuture]sql
目錄:express
入門學習階段:KAXAML瀏覽器
UI佈局階段:Snoop, SilverlightSpyapp
改寫樣式,寫控件庫階段:Reflactor, Blend編輯器
測試性能階段:Wpf performance Suite, Red Gate ANTS Performance Profiler 8ide
寫正篇以前先說Visual Studio. VS我就不介紹了,無論風雨如何,VS永遠是.NET 開發的第一選擇。工具
入門學習階段:KAXAMLoop
初次接觸WPF的時候必定會想嘗試各類控件的屬性,可以改動的同時實時的看出效果。或者有些朋友機器不夠給力或者說不想每次學習WPF都要打開VS,那KXAML必定適合您。
下載連接:KAXAML官網 ,源碼 這個是徹底free的,源代碼也公開了,在此我也很是感謝做者Robby Ingebretsen,很是偉大的一款軟件。
介紹: KaXaml是一個輕量級的XAML編輯器,但是實如今編輯的同時展示UI效果。界面以下:
左邊是功能欄,右邊分爲上下兩側,上面是UI,下面則是代碼。實時顯示
當你須要一些示例代碼或者當你須要改寫控件的時候,你能夠點擊Snippets。其中包含不少做者的善意(代碼段):
左側的功能還包括find, color picker(取色值,頗有用), snapshot, xaml scrubber(XAML格式的配置), settings等。
UI佈局階段:Snoop, SilverlightSpy
當渡過了學習階段後,開始作一些實際的項目了。逐漸接觸到WPF的邏輯樹和視覺樹。這個時候很須要當項目運行時進行查看視覺樹的結構評測本身xaml是否正確或者進行運行時改變觀察效果。這個時候snoop和siverlightspy就很須要了。Snoop for WPF, silverlightSpy for silverlight。
下載連接: Snoop,源碼, SilverlightSpy Snoop是開源的,徹底免費。silverlightspy是須要purchase的。
介紹:
Snoop是一個WPF運行時對Visual UI調試的一個工具, 能夠查看其視覺樹以及對其進行更改。
運行後會出現工做條:下拉框中顯示的運行的WPF應用程序,點擊刷新得到當前WPF應用程序列表,選擇相應程序後點擊望遠鏡圖標便可進行監測。也能夠點擊望遠鏡後的瞄準圖標拖動到相應程序上來完成此操做,打開後
如圖,Snoop檢測了左邊的WPF應用程序,snoop左側是可視化樹列表,選中元素,能夠進行縮略瀏覽,右邊是其屬性。選中的元素會有紅框出現。也可使用Ctrl+Shift來進行選中。下面一張圖是對左側各類數據的說明:
你能夠在運行時對snoop監視到的元素屬性進行修改來實時查看效果:
SilverlightSpy 則是相似snoop的工具,用來對顯示Silverlight 內容的網頁進行詳細的監測。這個工具使用它本身內嵌的瀏覽器,能夠幫助用戶瀏覽任何網站,並監測Silverlight:
在網址欄輸入你本身開發的SL的頁面。便可進行檢測。使用方法相似SNOOP,用Ctrl+shift來進行選擇,能夠進行實時改動:
改寫樣式,寫控件庫階段:Reflactor, Blend
隨着在項目中資歷和技術成長,逐漸搭建UI的任務慢慢已經分給新來的同事們了,這個時候就開始了充滿艱辛的寫控件階段。用戶須要更好的用戶體驗,UX以本身的理解設計出想要的體驗和交互,這個時候苦的就是開發了。「我天,這XX也能夠?!」每次看到UX新設計出來的畫面,不少開發噴油必定都有這樣的感慨。可是爲了更好的產品,咱們也只能努力去完成UX的要求。因此慢慢改寫控件模板和樣式,以及實現更多控件層次交互的需求甚至動畫則成了個人任務,這個時候就須要blend和reflactor來幫助了。
Blend for Visual Studio 2013 提供了豐富的以設計爲中心的環境,以便於開發針對 Windows 應用商店、Windows Phone、WPF 和 Silverlight 的應用。
而Reflactor反編譯dll則是爲了探索控件實現的內部機制以方便改寫,好比當你須要更改一個datagrid來實現一個能夠切換行的時候緩動的效果,或者更加變態的好比點擊一個column產生一個能夠自我定位的grid等。這個時候你就要先去探索datagrid內部的實現機制,繼承並改寫它內部的邏輯,而不只是樣式和模板。因此WPF依然須要reflactor。
下載:Blend,VS2013安裝時能夠選擇blend一塊兒安裝,Reflactor
Blend打開solution後效果以下圖:
黑白色調,工具欄和視覺欄。是否是很類似與PS。對的!這就是一款飽含設計向的WPF工具。能夠在其中對控件樣式和動畫進行可視的操做。
只不過須要注意的事,它自動生成的代碼是很是混亂的。推薦繪製動畫或者改寫樣式時先使用blend來構造,在vs裏再對xaml代碼進行優化。
Reflactor:反編譯dll,拿到其內部實現機制邏輯代碼。好比當我須要改寫datagrid:
這樣就能夠拿到其反編譯的結果,獲得其內部實現機制。即可以對具體的實現進行override來改寫。
測試性能階段:Wpf performance Suite, Red Gate ANTS Performance Profiler 8
項目即將結束,這個時候就須要測試了。做爲一個嚴謹的開發,咱們應該減輕QA MM們的壓力,本身先把本身埋的大坑填了,這樣纔不會在最後時候各類加班修bug,悲慘世界啊。
這裏就介紹兩款可以避免這種事情出現的軟件:Wpf performance Suite, Red Gate ANTS Performance Profiler 8
Wpf performance Suite 是一款WPF效能分析工具,可以讓您分析應用程式的執行階段行爲,並判斷可套用的效能最佳化類型。Red Gate ANTS Performance Profiler 8 是判斷.net 在內存中的佔用狀況,測試內存泄漏和是否釋放的工具, RED GATE也是一個頗有名的測試性能的廠家,reflactor其實就是該廠家出產,它還有其餘相似sql,azure等測試的產品。
下載:WPF PERFORMANCE SUITE, Red Gate ANTS Performance Profiler 8
介紹:WPF PERFORMANCE SUITE 性能分析工具功能很是多 官網和博客園均有詳細介紹,這邊我就貼上連接,你們如能夠點進去觀看:官網,博客園連接
着重來介紹 Red Gate ANTS Performance Profiler 8:首先打開該軟件,能夠進行15天試用:
點擊continue,會彈出主界面。能夠選擇來開始新的監視。
在相應PATH中選擇本身要測試的application 點擊 下方start profiling能夠開始監視。也能夠經過attach to process來進行監視
在其中會有不少元素進行監視和測試,好比class list,instance的數量等。從這些屬性上能夠看的出本身application所佔據的內存和具體一些class所佔據的內存和實例數量。
屢次點擊take snap shot 能夠把當前的記錄下來 來進行比對,能夠導出report。
這兩款軟件都是用處很是大的。假如你們須要的話,能夠留言,假如必要的話我會盡可能寫關於這兩個軟件詳細的使用方法的博客的。
總之,但願你們可以支持。我但願可以分享給全部的朋友心得和技巧,彎路一我的走就夠了。
很是喜好博客園的環境,分享纔是咱們程序員的武器啊!