【问题标题】:Image not loading in an Image Control图像未加载到图像控件中
【发布时间】:2014-01-31 03:41:16
【问题描述】:

我有两个 Windows Phone 项目。两者都具有相同的代码,用于填充从 URL 获取的图像,即:

<Image x:Name="imgThumb" Margin="0,-94,0,6" Width="90" Height="90"  Source="{Binding Thumb}"/>

而我的代码是这样的:

string thumb = i["thumbnail"].ToString(); //fetch thumbnail from json object
if (thumb == "")
   item.Thumb = "\images\noimage.jpg";
else 
   item.Thumb = thumb;

在这两个项目中,当 json 返回一个 URL Image 时,图片显示没有问题。但是,问题在于 json 没有 URL。发生这种情况时,我需要显示 noimage.jpg 图像文件。在第一个项目中,显示的是“离线”图像,但在第二个项目中,它显示的是空白图像。我已经测试过了,Image控件的源设置正确……但是Image无法显示。

需要考虑的一些事项:图像以正确的路径放置在两个项目中,并且设置为内容。

有什么帮助吗?

谢谢!

【问题讨论】:

  • 我知道 "if (thumb == "")" 有点奇怪,但我已经把它改成了 "if(thumb.IsNullOrEmpty())"。
  • 说“已测试”是指已调试吗?
  • 是的,就是这样! Source 属性设置正确。

标签: c# silverlight windows-phone-7


【解决方案1】:

首先,源“\”的斜杠不正确。尝试使用其他的“/” =)

第二。没必要,但是为了减少一点代码,尽量使用这个图片的Source:

Source="{Binding Thumb, TargetNullValue=/images/noimage.jpg}"

所以你可以改变这个代码

if (thumb.IsNullOrEmpty())
   item.Thumb = "\images\noimage.jpg";
else 
   item.Thumb = thumb;

到这里

if (!thumb.IsNullOrEmpty())
   item.Thumb = thumb;

【讨论】:

  • 关于反斜杠,其实我用的是'/'。我没有使用CTRL+C所以我在这里重新编写了代码。
  • 有趣。嗯,这很奇怪。好的,但是第二个推荐呢?如果它不起作用,那么路径或图像就有问题。尝试在任何地方创建图像。你确定,那个拇指真的是空的,可能有一些空格吗?我经常使用 string.IsNullOrWhiteSpace(thumb)。
  • 它没有工作。我重新检查了第 100 次,文件在那里,我清理/重建了他的解决方案,重新安装了应用程序,它仍然无法工作。但另一方面,我在另一个项目上做了你的更正,它像以前一样工作。感谢 TargetNullValue 属性,我不知道那个!
  • 我刚刚复制了我的代码并将其放在一个测试项目中,它就像一个魅力。解决方案本身会有问题吗...?
猜你喜欢
  • 1970-01-01
  • 2013-11-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-31
  • 1970-01-01
  • 1970-01-01
  • 2014-10-10
相关资源
最近更新 更多