1. 程式人生 > >WPF在XAML中利用絕對路徑和相對路徑設定圖片

WPF在XAML中利用絕對路徑和相對路徑設定圖片

在這幾天寫的小程式中,所有的圖片都是利用絕對路徑新增的,被老師吐槽不專業了。

這裡稍微總結一下在XAML中使用相對路徑新增圖片的方法。

WPF引入了統一資源標識Uri(Unified Resource Identifier)來標識和訪問資源。其中較為常見的情況是用Uri載入影象。Uri表
達式的一般形式為:協議+授權+路徑
協議:pack://
授權:有兩種。一種用於訪問編譯時已經知道的檔案,用application:///。一種用於訪問編譯時不知道、執行時才知道的檔案,用siteoforigin:///。在這裡加圖片時,我們選用前者,即application:///,但是書寫時候,我們一般用逗號代替斜槓,也就是改寫作application:,,,。
路徑:分為絕對路徑和相對路徑。這裡我們選用相對路徑,因為總結的就是它。

有一點需要的是:在使用絕對路徑時,不需要把原圖片新增到專案中就可以載入圖片。但在使用相對路徑是一定應該把圖片新增到專案中的,如下圖:

還應該在圖片的屬性中設定生成操作(build action)為Resource,這是為了在編譯時會把圖片資源嵌入到程式中。否則的話,在程式生成之後依然會找不到圖片。

 <ImageBrush ImageSource="pack://application:,,,/Resources/home_back.png"/>

最後結果: