使用Hardcodet WPF NotifyIcon触发XamlParseException报错求助
解决WPF NotifyIcon无法解析pack://图片源的问题
1. 检查文件属性配置
- 右键
settingsIcon.ico文件→属性,将生成操作设置为Resource(不要选Embedded Resource) - 把“复制到输出目录”设为“不复制”
2. 修正Pack URI格式
根据文件位置调整URI写法:
- 相对路径写法(推荐):直接写
/rsrc/settingsIcon.ico,WPF会自动补全pack://application前缀 - 完整URI写法:
pack://application:,,,/你的程序集名称;component/rsrc/settingsIcon.ico,替换“你的程序集名称”为项目实际程序集名(右键项目→属性→应用程序→程序集名称)
3. 核对XAML中的引用
确保NotifyIcon的图标引用无拼写错误,示例写法:
<tb:TaskbarIcon IconSource="/rsrc/settingsIcon.ico" />
(tb是Hardcodet NotifyIcon的命名空间前缀)
4. 验证资源嵌入情况
- 编译项目后,用ILSpy打开生成的exe/dll,查看资源节点是否包含
rsrc/settingsIcon.ico - 若未找到,删除bin/obj文件夹后重新编译,确保资源正确嵌入
5. 临时测试排查
将图标移到项目根目录,用IconSource="settingsIcon.ico"测试,排除路径层级问题
内容的提问来源于stack exchange,提问作者jaroslavbobek2003probtmp
相关产品推荐
相关产品推荐

