最近在做WPF項目時,要通過Image 來添加圖片顯示,使用其ImageSource屬性來設置image圖片的路徑進行綁定。
最初用的絕對路徑進行綁定,沒有什么問題,只要將圖片所在的絕對路勁復制粘貼就好了。
但是,當整個項目的路徑發生了變化(將圖片放在項目工程目錄內的)時,就有問題了,需要手動更改絕對路徑。
后面將其改為相對路徑,就解決了這個問題:
首先要將圖片添加到項目中:
然后在Xaml前台添加路徑綁定:ImageSource="/WPFLoginTestDemo;component/timg.jpg"
/WPFLoginTestDemo; :這是你的工程文件的名稱,或者說是你的圖片對應的程序集的名稱
component :component是固定前綴,是必須的,我一開始不知道,習慣的用ImageSource="../WPFLoginTestDemo/timg.jpg"的寫法,這樣不會寫時不會報錯,但是在啟動調試到這里時就會報異常
/timg.jpg :這是圖片的相對路徑(相對於程序的路徑),當前可執行程序目錄一般在 …/bin/Debug(Release)/XXX.exe
有的時候這樣做會在程序的生成目錄下復制一份該圖片,我們只需要按下面設置圖片的屬性就可以不復制了。
另:相對路徑要求比較嚴格,C#中指定Source時圖片的“生成操作”屬性必須是“Resource”