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

如何将WPF字符串形式的资源路径转换为ImageSource对象

WPF资源路径转ImageSource正确实现

报错原因

你使用的/[程序集名];component/[资源路径]是WPF专属的相对资源URI格式,直接调用new Uri(路径字符串)时,默认会按绝对路径规则解析,匹配失败就会抛出异常。

正确实现方案

方案1:指定URI为相对类型

仅需在构造Uri时显式指定UriKind.Relative即可:

var imgUri = new Uri(tb.ImageSource, UriKind.Relative);
myImg.Source = new BitmapImage(imgUri);

方案2:补全为完整Pack URI

你也可以补全WPF的Pack URI前缀,按绝对URI规则解析:

var fullUriStr = $"pack://application:,,,{tb.ImageSource}";
var imgUri = new Uri(fullUriStr);
myImg.Source = new BitmapImage(imgUri);

注意事项

  • 确认图片资源的生成操作属性设置为Resource,否则运行时会找不到资源
  • 确认路径中的程序集名(示例中的MySolution.Images)和实际存放图片的程序集名称完全匹配
  • 如果图片和当前代码在同一个程序集内,可省略程序集名,路径简化为/Resources/MyImage.png即可

内容的提问来源于stack exchange,提问作者Juan Pablo Gomez

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 17:09:00