WPF 中 Image 控件 Source 属性的相对路径和绝对路径问题总结 在 WPF 中,Image 控件的 Source 属性可以指定为相对路径或绝对路径,但这两种路径有不同的使用场景和注意事项。本文将总结 WPF 中 Image 控件 Source 属性的相对路径和绝对路径问题,包括前台 Xaml 修改 Source 和后台 C# 修改 Source 两种情况。 前台 Xaml 修改 Source 在前台 Xaml 代码中,我们可以直接修改 Image 控件的 Source 属性为图片的相对路径或绝对路径。对于相对路径,需要保证图片已经包含在当前项目中,并且图片的属性“生成操作”必须是 Resource 才可以在程序运行时正常显示图片。如果图片仅仅是在项目中的文件夹下而没有包含在项目中,我们指定其为 Image 控件的 Source 属性时,在 Visual Studio 的 Xaml 页面预览中可以看到图片,但是在程序运行时图片是不显示的。 后台 C# 修改 Source 在实际的开发过程中,我们经常需要通过后台的 C# 动态的为 Image 控件指定 Source 属性来显示想要显示的图片。在 C# 中,我们可以使用 `Image_Test.Source = new BitmapImage(new Uri("图片路径", UriKind.RelativeOrAbsolute))` 的方式来为 Image 控件指定 Source 属性。在 C# 中指定 Source 属性时,图片路径可以是相对路径也可以是绝对路径。 相对路径的使用 对于相对路径,需要注意图片的“生成操作”属性必须是 Resource,这与在 Xaml 中一样。在需要固定的一些项目中的图片切换时,我们可以通过这种方式完成。 绝对路径的使用 对于绝对路径,没有图片文件包含在项目中的要求。直接在实例化 Uri 时指定图片的绝对路径就可以。绝对路径书写起来比较麻烦,我们不可能手写图片的绝对路径,而且当我们的程序移动到了其他位置时,手写的绝对路径就不再有效了。此时,我们可以通过程序动态的读取当前程序所在的绝对路径,然后再结合图片相对于程序的路径最终获得图片的绝对路径,这样就解决了图片绝对路径的问题。 获取相对路径的绝对路径 我们可以使用 `System.IO.Path.GetFullPath()` 方法来获取相对于当前运行的可执行程序所在目录的给定的相对路径对应的绝对路径。 实践示例 例如,要显示在程序目录下的 Images/test/1.jpg 图片包含在项目中,可以使用以下两种方式: 1. Xaml 指定:`<Image Name="img_test" Source="Images/test/1.jpg"></Image>` 2. C# 指定:`img_test.Source = new BitmapImage(new Uri("Images/test/1.jpg", UriKind.Relative));` 如果图片不包含在项目中,需要使用绝对路径,可以使用以下方式: `string path = System.IO.Path.GetFullPath("../../Images/test/1.jpg");` `img_test.Source = new BitmapImage(new Uri(path, UriKind.Absolute));` WPF 中 Image 控件的 Source 属性可以指定为相对路径或绝对路径,但需要注意不同的使用场景和注意事项,以确保图片的正确显示。
- 粉丝: 2
- 资源: 4
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- x64dbg-development-2022-09-07-14-52.zip
- 多彩吉安红色旅游网站-JAVA-基于springBoot多彩吉安红色旅游网站的设计与实现
- 本 repo 包含使用新 cv2 接口的 OpenCV-Python 库教程.zip
- 更新框架 (TUF) 的 Python 参考实现.zip
- Qos,GCC,pacing,Nack
- 章节1:Python入门视频
- 无需样板的 Python 类.zip
- ESP32 : 32-bit MCU & 2.4 GHz Wi-Fi & BT/BLE SoCs
- 博物馆文博资源库-JAVA-基于springBoot博物馆文博资源库系统设计与实现
- 旅游网站-JAVA-springboot+vue的桂林旅游网站系统设计与实现
- 1
- 2
前往页