Silverlight:为什么png-image没有显示?

时间:2010-08-09 13:02:14

标签: wpf silverlight image silverlight-4.0 png

在Silverlight 4应用程序中,图像很少,两者都在设计模式下正确显示,一个在运行时也正确显示:

<Image Height="180" Width="149" Source="../Picts/Field.png" />

另一个未在运行时显示:

<StackPanel Orientation="Horizontal" HorizontalAlignment="Center" Margin="5" Visibility="{Binding SquadSavedVisibility, Mode=OneWay}">
    <Image Source="..\Picts\ok.png" Width="16" Height="16" />
    <TextBlock Text=" It is saved" Foreground="Green"/>
</StackPanel>

为什么呢?以及如何显示它?

欢迎任何想法。感谢。

3 个答案:

答案 0 :(得分:8)

一切都在你的斜线中,VS设计时并不介意你使用“.. \ Picts \ ok.png”,但Silverlight运行时希望看到“../Picts/ok.png”。换句话说,你的斜线很重要。

答案 1 :(得分:4)

我在设计时显示的图像存在类似问题,但在运行时却没有。我正在使用包URI,所以我也想发布该修复:

在运行时不起作用,在设计时工作:

<Image Source="mydllname;component/Images/logo.png" />

适用于设计和运行时:

<Image Source="/mydllName;component/Images/logo.png" />

注意包URI开始之前的额外'/'。

答案 2 :(得分:1)

您可以尝试挂钩Image.ImageFailed事件。有关示例和更多说明,请查看此页面:
http://msdn.microsoft.com/en-us/library/system.windows.controls.image.imagefailed%28v=VS.95%29.aspx