天天看點

WPF調用圖檔,路徑,或樣式資源WPF調用圖檔路徑,或資源圖檔

WPF調用圖檔路徑,或資源圖檔

一、加載本項目的圖檔

WPF引入了統一資源辨別Uri(Unified Resource Identifier)來辨別和通路資源。

其中較為常見的情況是用Uri加載圖像。Uri表達式的一般形式為:協定+授權+路徑

協定:pack://

授權:有兩種。一種用于通路編譯時已經知道的檔案,用application:///

一種用于通路編譯時不知道、運作時才知道的檔案,用siteoforigin:///

一般用逗号代替斜杠,也就是改寫作application:,,,和pack:,,,

路徑:分為絕對路徑和相對路徑。一般選用相對路徑,普适性更強

下面,我們舉一個簡單的例子:

pack://application:,,,/images/my.jpg

當然,WPF預設Uri設定有pack://application:,,,,是以我們也可以直接将其寫作:/images/my.jpg

後邊寫例子程式時,為了讓讀者更好的了解Uri,我們都采用完整的Uri寫法。

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

用XAML引用資源:

<Image Source="pack://application:,,,/images/my.jpg"/>
           

 也可以這樣

<Image Source="/images/my.jpg"/>
           

用代碼引用資源:

Image img;

img.Source=new BitmapImage(new Uri("pack://application:,,,/images/my.jpg"),UriKind.Relative);
           

也可以直接使用代碼中引用圖檔資源

image2.Source = new BitmapImage(new Uri("/images/my.jpg", UriKind.Relative));
           

二、WPF 調用資源圖檔

imagePath = "pack://application:,,,/Solution;component/Properties/../images/star/my.jpg";

imageBrush.ImageSource = new BitmapImage(new Uri(imagePath, UriKind.RelativeOrAbsolute));
           

三、WPF引用外部項目資源的方法

WPF中如果你使用的資源檔案不是本程式集的,是另外的程式集,就可以這樣做:

1.引用要用的程式集,pack://application:,,,/程式集名稱;component/路徑 ,其中pack://application:,,,可以省略

示例:

<Image Source="pack://application:,,,/Skin;component/image/you.png" />
           

 或者

<Image Source="/Skin;component/image/you.png" />
           

四、使用SiteOfOrigin

imgContent.Source = new BitmapImage(new Uri("pack://SiteOfOrigin:,,,/images/my.jpg"));
           

原文轉至:https://www.cnblogs.com/sntetwt/p/5402098.html