1. 程式人生 > >WPF學習(1)-概述

WPF學習(1)-概述

       原來寫桌面程式,都是使用WINFORM,一方面,確實寫出來不漂亮,自定義控制元件也不方便,於是就想著換一種,買的C#從入門到精通,桌面程式設計的內容也換成了WPF,於是就想著來系統學習一下吧。

       寫下部落格,記錄下來自己的學習體驗。

        我們公司是做定位系統的,於是自然就用到動畫,在winform上,動畫實在太費勁,但是wpf就可以很好的實現,這個是站在我個人角度發現最好的功能。

       解析度無關,這個是解決了我的另外一個痛點,原來,比如我配置地圖上的基站時,不同的螢幕,基站在地圖的位置會變得不一樣,當然可以用事件監聽,但是每次尺寸變化之後,都是重新繪圖,特別慢,我配置還不錯的電腦,都能看到是一個個畫上去的,體驗不是很好。

      資料繫結,這個也很有用,比如原來我用socket去接受硬體的資料,每次我都要去和我的靜態字典比較下,然後更新介面上,顯示具體的資料,用資料繫結,就不需要太關注前臺介面的展示,只要做資料繫結,維護好繫結源就行了,真的非常好用,最關鍵的是,可以一下子更新展示,不會像原來那樣,用接受資料監聽事件處理,真的是快了很多,程式碼也很少。

       路由事件,這個我原來都沒有概念,但是我有一個需求,原來在地圖上用GDI+畫的基站,我想要實現滑鼠雙擊,更改基站的資訊,但是我畫的時候,是先放一個panel,在放一個imagebox,根據基站型別,顯示不同的圖片,如果我不管雙擊的是圖片,還是picturebox,還是panel都可以觸發修改基站資訊的事件,那就非常好用了,這個就是路由事件啦。

       xaml,原來寫介面,winform拖控制元件,後臺程式碼不斷的去更新,如果想要實現好看點的圖形介面,那麼就非常費勁了,比如一個簡單的datagridview,想要不同列寬度不一樣,這個就非常麻煩,那麼在xaml裡面,就是一個屬性的事情,而且自由巢狀不同元素,真的是強大了不止一點點。

      web過度,其實,很多人可能和我一樣,都是自學寫程式碼,就是稀裡糊塗的學了winform開發,網頁寫的不多,然後由於沒有體系的接受教育,很多概念要轉非常困難,我覺得wpf就是一個橋樑,可以把我們很輕鬆地過度到web開發上面,佈局,前後臺分開,幾乎都有對應的,包括JS,如果你原來一直是從事.NET的桌面程式設計,想要很快的轉過去,當然我說的不是能寫專案,是真正的理解,可能要費點功夫,但是通過wpf,可以輕鬆過度,當然這是我自己的一點點體驗。

     這只是我自己的一點點體驗,自己寫程式碼也只有三年的時間,而且一大半時間,還是在做銷售,本身自己的實力也不強,僅以此勉勵自己,不斷學習。