C# Visual Studio designer可以找到资源映像,但不能在运行时找到

C# Visual Studio designer可以找到资源映像,但不能在运行时找到,c#,wpf,xaml,visual-studio-2012,C#,Wpf,Xaml,Visual Studio 2012,我正在使用Visual Studio 2013和.NET 4.5 我有一个图像链接如下,带有\\,它显示在VS designer视图中,但在运行时没有显示 <Image Grid.Column="1" Source="..\\Resources\\MyImage.bmp" Stretch="Uniform"/> 经过一番尝试后,我通过更改\\to/符号使其正常工作,如下所示: <Image Grid.Column="1" Source="../Resources/MyImag

我正在使用Visual Studio 2013和.NET 4.5

我有一个图像链接如下,带有\\,它显示在VS designer视图中,但在运行时没有显示

<Image Grid.Column="1" Source="..\\Resources\\MyImage.bmp" Stretch="Uniform"/>
经过一番尝试后,我通过更改\\to/符号使其正常工作,如下所示:

<Image Grid.Column="1" Source="../Resources/MyImage.bmp" Stretch="Uniform"/>
我只是好奇,为什么设计师能够在运行时没有反斜杠的情况下找到我的图像,为什么正斜杠解决了这个问题。有人知道吗?谢谢你给我举个例子:

这是无效的,因为URL中不允许使用反斜杠,并且必须使用反斜杠 逃脱。 因此,当您使用代码联机时,所有反斜杠都无法读取

正确的方法是这样写:

<img src="/website/file_name.jpg" />

希望有帮助

在解决方案资源管理器中选择图像,并将其“复制到输出目录”(Copy to Output Directory)设置为“复制(如果更新)”,并确保生成操作设置为“内容”

XAML

<Image Source="pack://application:,,,/yournamespace;component/Resources/MyImage.bmp"/>
如果我正确理解你的问题。检查图像上的构建操作

这是因为您的图像位于项目的Resources文件夹中。 如果您想知道/Resources/MyImage.bmp之前的整个长字符串,那么这是为了允许从其他程序集使用组件,并且是在xaml中定义图像的安全方法。yournamespace是项目的名称空间


哦,是的,忘了提到构建操作设置为Resource,你试过单个反斜杠吗?XAML不是C。哦,你是对的,一个反斜杠就行了。现在我觉得自己很傻,哈哈,当图像文件是一个资源时不要这样做。已经被问过很多次了。例如,见。