[英]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.