You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WPF Image控件无法正常显示图片,仅项目存放于磁盘根目录时运行正常

问题原因

你遇到的问题是**项目存储路径包含URI特殊字符#**导致的WPF资源解析异常:

  • WPF内部处理控件Source属性的路径时遵循URI标准规范,#是URI中定义的片段标识符起始标记,解析器遇到#后会将后续内容识别为URI片段而非路径组成部分。
  • 你的项目原路径为D:\Programming\C#\Practice\WpfImageTest,路径中的C#携带的#会触发上述截断逻辑,导致相对路径/Resources/Images/Chen.png拼接解析后的实际地址错误,无法定位到图片文件。
  • 当你将项目移动到磁盘根目录后,路径不存在#字符,URI解析逻辑正常,相对路径可以正确映射到你设置为Content、始终复制的图片文件,因此可以正常显示。

解决方案

你可以选择以下任意一种方式修复问题:

  • 调整项目存储路径,移除路径中的#字符,比如将C#文件夹重命名为CSharp即可从根源避免解析异常。
  • 改用WPF标准Pack URI格式指定资源路径,消除相对路径解析的歧义:
<Image Width="300" Height="300" Source="pack://application:,,,/Resources/Images/Chen.png"/>
  • 如需保留现有路径配置,可在后台代码中通过本地绝对路径加载图片:
// 后台代码加载示例
var imageFullPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @"Resources\Images\Chen.png");
TargetImage.Source = new BitmapImage(new Uri(imageFullPath, UriKind.Absolute));

内容的提问来源于stack exchange,提问作者Mike

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 23:24:04