最近在做WPF项目时,要通过Image 来添加图片显示,使用其ImageSource属性来设置image图片的路径进行绑定。
最初用的绝对路径进行绑定,没有什么问题,只要将图片所在的绝对路劲复制粘贴就好了。
但是,当整个项目的路径发生了变化(将图片放在项目工程目录内的)时,就有问题了,需要手动更改绝对路径。
后面将其改为相对路径,就解决了这个问题:
首先要将图片添加到项目中:
然后在Xaml前台添加路径绑定:ImageSource="/WPFLoginTestDemo;component/timg.jpg"
/WPFLoginTestDemo; :这是你的工程文件的名称,或者说是你的图片对应的程序集的名称
component :component是固定前缀,是必须的,我一开始不知道,习惯的用ImageSource="../WPFLoginTestDemo/timg.jpg"的写法,这样不会写时不会报错,但是在启动调试到这里时就会报异常
/timg.jpg :这是图片的相对路径(相对于程序的路径),当前可执行程序目录一般在 …/bin/Debug(Release)/XXX.exe
有的时候这样做会在程序的生成目录下复制一份该图片,我们只需要按下面设置图片的属性就可以不复制了。
另:相对路径要求比较严格,C#中指定Source时图片的“生成操作”属性必须是“Resource”