資源檔的作用
程式中常會用到圖片, 影片或mp3. 但是由於安全或其他的考量, 不希望這些檔案放在執行檔(.exe)或程式庫(.dll)之外, 而是希望這些檔案能一起包進專案之中. C#提供了簡單的解決方案.
新增資源檔
新增資源檔, 有二種方式, 第一種比較正式, 第二種則比較隨興. 但最後結果, 其實都是一樣的.
較正式的方式, 是在方案總管的Properties展開後, 選取Rsources.resx二下, 於左邊視窗中選擇加入資源/加入現在檔案, 然後再選取想要加入的檔案即可. 此時加入的檔案會放在Resources的資料夾中.
另一種則是直接在方案總管中加入資料夾(如Image), 然後於新資料夾按右鍵/加入現在項目, 選取檔案即可.
建置動作
資源建立後, 在Resources目錄下點選一下資源檔, 然後記得建置動作要改為Resource, 否則在設計階段可以看到圖片, 但執行階段圖片會不見.
XAML引用資源檔
假設要引用的資源檔位於 Image/machine.png, 而我用的頁面檔在 Setting/layout.xaml. 則在xaml要引用資源檔可使用如下方式
<Image Source="../Image/machine.png" />
請注意 , “../” 這相對路徑一定要正確
代碼中動態引用資源檔
若於代碼中動態取得資源檔, 使調用new Uri(“路徑”)
image.Source = new BitmapImage(new Uri("../Resources/machine.png",UriKind.Relative));