【打包1】內容、嵌入資源等檔案的生成操作,屬性如何設定

小林野夫發表於2024-03-29
對於媒體資源通常使用Content與Resource兩種不同的方式。

採取Content時,資源會被打包在Xap包裡面。這種情況下, 訪問這個圖片的相對Uri需要以"/"開始。在這種方式下,如果沒有在xap中找到圖片檔案,那麼silverlight會自動從當前xap應用所在的資料夾下來找所需圖片檔案, 如果還沒有找到那麼就觸發ImageFailed事件, 這種方式比較適合在多個程式集引用相同檔案時採用。

獲取媒體資源方式:直接採用/資料夾/檔案即可獲取到資原始檔。影片、音訊採用這個模式

採用Resource時,資源會被打包在程式集內部。 選擇這種生成方式後,該資原始檔會被嵌入到該應用的程式集中,就是說開啟生成的xap是看不到這個檔案的。 可以用相對於當前的XAML檔案的相對Uri訪問,<Image Source="sl.png" />或是<Image Source="./sl.png" />, 在子資料夾裡的可以用<Image Source=”./images/sl.png” />訪問到。最保險的方式是採用特有的程式集資源URI訪問,格式為 <Image Source="/{assemblyShortName};component/sl.png"/>,這種方式還可以引用到xap中的其他程式集中的圖片。這種生成方式的系統資源可以直接用Application.GetResourceStream(uri).Stream在程式碼裡來得到。

獲取媒體資源方式:/{assemblyShortName};component/sl.png 的方式來獲取,其中assemblyShortName為程式集名稱。

本次問題中,針對圖片檔案使用了 Resource,而影片檔案使用了Content。所以出現了上圖問題。

原文:https://blog.csdn.net/v240181271/article/details/61919338?

相關文章