資源會被打包在程式集內部。 選擇這種生成方式後,該資源文件會被嵌入到該應用的程式集中,就是說打開生成的應用程式目錄是看不到這個文件的。 可以用相對於當前的XAML文件的相對Uri訪問,<Image Source="sl.png" />或是<Image Source="./sl.png" />, 在子 ...
資源會被打包在程式集內部。 選擇這種生成方式後,該資源文件會被嵌入到該應用的程式集中,就是說打開生成的應用程式目錄是看不到這個文件的。
可以用相對於當前的XAML文件的相對Uri訪問,<Image Source="sl.png" />或是<Image Source="./sl.png" />, 在子文件夾里的可以用<Image Source=”./images/sl.png” />訪問到。
最保險的方式是採用特有的程式集資源URI訪問,格式為 <Image Source="/{assemblyShortName};component/sl.png"/>,這種方式還可以引用到應用程式中的其他程式集中的圖片。
這種生成方式的系統資源可以直接用Application.GetResourceStream(uri).Stream在代碼里來得到。
獲取媒體資源方式:/{assemblyShortName};component/sl.png 的方式來獲取,其中assemblyShortName為程式集名稱。
後臺代碼讀取示例如下:
Uri uri = new Uri("pack://application:,,,/Images/tagass.png");
var stream = Application.GetResourceStream(uri).Stream;
Byte[] bts = new Byte[stream.Length];
stream.Read(bts, 0, (int)stream.Length - 1);
stream.Close();