WPF代碼引用Resouces中的圖片


WPF引入了統一資源標識Uri(Unified Resource Identifier)來標識和訪問資源。其中較為常見的情況是用Uri加載圖像。

Uri表達式的一般形式為:協議+授權+路徑     

協議:pack://     

授權:有兩種。一種用於訪問編譯時已經知道的文件,用application:///。一種用於訪問編譯時不知道、運行時才知道的文件,用siteoforigin:///。在這里加載圖片時,我們選用前者,即application:///,但是書寫時候,我們一般用逗號代替斜杠,也就是改寫作application:,,,。     

路徑:分為絕對路徑和相對路徑。這里我們選用相對路徑,普適性更強。

 

     下面在講講裝載圖片的兩種方式,一種用XAML引用資源,一種用代碼引用資源。

     用XAML引用資源:           <Image Source="pack://application:,,,/images/my.jpg"/>

     用代碼引用資源:           Image img;           img.Source=new BitmapImage(new Uri("pack://application:,,,/images/my.jpg"),UriKind.Relative);

1 ImageBrush IB=new ImageBrush();
2 //IB.ImageSource = new BitmapImage(new Uri("pack://application:,,,/images/button_bg.png")); 也可以
3 IB.ImageSource = new BitmapImage(new Uri("pack://application:,,,/PMClient;component/images/button_bg.png")); 
4 Item.Background = IB;

其中PMClient是我自己的程序集

但是使用下面的簡寫形式則會報錯:找不到D:/images/button_bg.png,也就是說wpf不會自動加上pack://application:,,,

IB.ImageSource = new BitmapImage(new Uri("/images/button_bg.png",UriKind.Relative)); 

 


來自於

http://www.cnblogs.com/ErinCodeMM/archive/2011/04/07/2008819.html

http://my.oschina.net/huxuanhui/blog/37323


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM