我正在使用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"/>
我只是好奇为什么设计师能够在运行时没有找到带有反斜杠的图像,然后为什么正斜杠修复了这个问题。谁知道?感谢
答案 0 :(得分:1)
XAML
<Image Source="pack://application:,,,/yournamespace;component/Resources/MyImage.bmp"/>
如果我正确理解你的问题。检查您的图片上的构建操作。
您的图像位于项目的Resources文件夹中。 如果您想知道/Resources/MyImage.bmp之前的整个长字符串,那就是允许从其他程序集中使用组件,并且是在xaml中定义图像的安全方法。 &#34; yournamespace&#34;是项目的命名空间。
答案 1 :(得分:0)
在解决方案资源管理器中选择图片,并将其设置为Copy to Output Directory
至Copy if Newer
,并确保将构建操作设置为Content
答案 2 :(得分:-1)
例如:<img src="\website\file_name.jpg" />
这是无效的,因为URL中不允许反斜杠,反斜杠必须 逃脱。 因此,当您使用代码联机时,无法读取所有反斜杠。
正确的方法是写下这个:
<img src="/website/file_name.jpg" />
希望它有所帮助!