几点建议:
1)如果你订阅ImageFailed甚至ImageIcon的和BitmapImage的在和DownloadFailed事件你可以从WPF例外。然后在这些方法中加入断点并查看它所说的内容。
2)在设置UriSource之前,调用image.BeginInit()。设置UriSource后,调用image.EndInit()。为了帮助调试问题,您可以订阅ImageIcon上的ImageFailed事件和BitmapImage上的DownloadFailed。所以,最终的代码如下所示:
BitmapImage image = new BitmapImage();
image.BeginInit();
image.UriSource = new Uri("/images/low_battery.png", UriKind.Relative);
image.DownloadFailed += image_DownloadFailed;
image.EndInit();
imageIcon.ImageFailed += imageIcon_ImageFailed;
imageIcon.Source = image;
imageIcon.Visibility = System.Windows.Visibility.Visible;
进一步回落:
void imageIcon_ImageFailed(object sender, ExceptionRoutedEventArgs e)
{
// Breakpoint here
}
void image_DownloadFailed(object sender, ExceptionEventArgs e)
{
// Breakpoint here
}
3)另一种方式做,这是直接嵌入图片到你的项目。做到这一点通过添加图像文件夹到您的项目,然后添加图像,并设置类型为“资源”
实际上'images \\ low_battery.png'上有图像吗? –
你把图片放在哪里?它不会出现,除非你真的把它放在窗口中。 –
确保图像也是您项目资源的一部分。 –