Visual Studio设计器可以在运行时查找资源图像但不能查找

时间:2014-08-04 19:11:11

标签: c# wpf xaml visual-studio-2012

我正在使用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"/>

我只是好奇为什么设计师能够在运行时没有找到带有反斜杠的图像,然后为什么正斜杠修复了这个问题。谁知道?感谢

3 个答案:

答案 0 :(得分:1)

XAML

<Image Source="pack://application:,,,/yournamespace;component/Resources/MyImage.bmp"/>

如果我正确理解你的问题。检查您的图片上的构建操作。

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

http://msdn.microsoft.com/en-us/library/aa970069.aspx

答案 1 :(得分:0)

在解决方案资源管理器中选择图片,并将其设置为Copy to Output DirectoryCopy if Newer,并确保将构建操作设置为Content

答案 2 :(得分:-1)

例如:<img src="\website\file_name.jpg" />

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

正确的方法是写下这个:

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

希望它有所帮助!