首页 新闻 会员 周边 捐助

在wpf中通过代码设置图片,如果找不到图片资源怎么办?

0
悬赏园豆:10 [已解决问题] 解决于 2014-05-08 09:29
BitmapImage image = new BitmapImage(new Uri("/Pictures/log.png", UriKind.Relative));
evaImage.Source = image;

在通过这两句代码在设置图片路径的时候,如果找不到log.png这个图片,该如何判断它是否存在?

sysmenu的主页 sysmenu | 初学一级 | 园豆:71
提问于:2014-05-01 22:55
< >
分享
最佳答案
0

你这个图片是包括在项目中的?

那Uri应该这样写new Uri("pack://application:,,,/ReferencedAssembly;component/Subfolder/ResourceFile.xaml");

MSDN解释

你的写成这样应该可以: new Uri("pack://application:,,,/Pictures/log.png")

收获园豆:10
德年 | 小虾三级 |园豆:1010 | 2014-05-04 12:04

这个只是个大概意思,具体路径是

new Uri("/diplay.Out;component/Pictures/Log.png", UriKind.Relative)

这样查找图片是没有问题的,但是如果在这个文件夹里没有图片怎么判断,用file.exits()一相对路径判断不出来

sysmenu | 园豆:71 (初学一级) | 2014-05-05 08:58

@sysmenu: 这个图片文件是嵌入到程序文件(.exe/.dll)里的,不是文件系统中的单独一个文件,你用file.exits肯定找不到的。

图片不存在会抛异常,try catch 一下就可以判断存不存在了。而且这种嵌入到程序文件里的资源文件都是你自己手动添加的,程序编译后就固定了,不会像文件系统里的文件一样可能会被删掉,有就有,没有就没有,这个就像程序里的一个class,你用的时候需要判断这个class存不存在?

德年 | 园豆:1010 (小虾三级) | 2014-05-05 09:45

@德年: 确实如你所说的图片嵌入到了程序文件里了,其实通过try catch的方式我通过调试断点已经知道了,就是想问一下有没有类似判断的属性或方法,这样操作起来会好些,不过还是很感激你的回答

sysmenu | 园豆:71 (初学一级) | 2014-05-05 16:55
其他回答(1)
0

File.Exits(file's url),试试这个,很基础的编程,多看书学习吧。

wongdavid | 园豆:394 (菜鸟二级) | 2014-05-02 22:02

这个在uri中的路径好像不行

支持(0) 反对(0) sysmenu | 园豆:71 (初学一级) | 2014-05-04 11:18
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册