[英]Unable to find static resource in runtime even while designer can see it
[英]Visual Studio designer can find resource image but not during runtime
我正在使用Visual Studio 2013和.NET 4.5。
我有一個用\\\\鏈接的圖像,如下所示,該圖像顯示在VS設計器視圖中,但隨后不在運行時顯示。
<Image Grid.Column="1" Source="..\\Resources\\MyImage.bmp" Stretch="Uniform"/>
經過大量的嘗試,我通過將\\\\更改為/符號使其工作,如下所示:
<Image Grid.Column="1" Source="../Resources/MyImage.bmp" Stretch="Uniform"/>
我很好奇為什么設計人員能夠在運行時無法找到帶有反斜杠的圖像,以及為什么正斜杠可以解決此問題。 有人知道嗎 謝謝
XAML
<Image Source="pack://application:,,,/yournamespace;component/Resources/MyImage.bmp"/>
如果我正確理解您的問題。 檢查圖像上的構建操作。
假定您的圖像位於項目的Resources文件夾中。 如果您想知道/Resources/MyImage.bmp之前的整個長字符串,那是為了允許從其他程序集中使用組件,這是在xaml中定義圖像的安全方法。 “ yournamespace”是項目的名稱空間。
在解決方案資源管理器中選擇圖像,並將其設置為“ Copy to Output Directory
以Copy if Newer
並確保“構建操作”設置為“ Content
例如: <img src="\\website\\file_name.jpg" />
這是無效的,因為URL中不允許使用反斜杠,並且必須轉義反斜杠。 因此,當您使用代碼在線時,無法讀取所有反斜杠。
正確的方法是這樣寫:
<img src="/website/file_name.jpg" />
希望能幫助到你!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.