1. 程式人生 > >WPF實現檔案縮圖瀏覽器

WPF實現檔案縮圖瀏覽器

在新的sprint中發現了個問題,我們需要實現一個檔案縮圖的瀏覽器,顯示新增的圖片檔案的縮圖,並且顯示到應用程式中,顯示縮圖很簡單,不過本著精益求精(我自己都覺得自己是在裝b)的原則,需要完成下列需求:

(1) 圖片載入完畢之後不能夠再使用圖片檔案;

(2) 圖片載入完畢之後不能夠佔用大量記憶體;

(3) 圖片需要非同步載入,在圖片過多時儘可能快的讓使用者能夠看到部分圖片的縮圖

這三點功能對於我這種初學者來說有些困難,在網上差了很多老外的文章之後,發現瞭解決方案,具體思路:

(1) 在載入完畢圖片之後需要將對原有圖片的引用與例項進行Dispose,這樣能夠解決需求中的(1)於(2);

(2) 自己整合一個Image,這樣能夠自定義一個依賴項屬性,實現對ViewModel中的資料的繫結,來實現對圖片縮圖的非同步載入

載入圖片之後將圖片的引用Dispose:

 

自定義Image用於非同步載入:

 

經過測試,能夠將記憶體降低為資原始檔的大小的1/10。不過只是測試程式碼,希望您能夠對大家有所幫助,呵呵。