WinUI 3非打包应用发布后图片不显示,能否嵌入资源从XAML访问?
非打包WinUI 3应用嵌入图片并在XAML访问的实现方案
完全可以实现,按以下步骤操作即可:
调整图片文件的构建属性
右键项目里的Assets/Logo.png,打开属性面板:- 把「生成操作」改成
嵌入的资源 - 把「复制到输出目录」改成
不复制(既然要嵌入到程序里,就不用单独输出文件了)
- 把「生成操作」改成
修改XAML中的图片引用路径
原来的ms-appx:///URI只适用于打包应用或已部署的Appx包,非打包的嵌入资源得用pack://application:,,,/格式的URI,还要带上你的项目程序集名称(替换成你自己的项目名就行):<Image Source="pack://application:,,,/你的项目名;component/Assets/Logo.png" />确认项目支持pack URI
C#项目默认已经支持pack URI,不需要额外配置;如果是C++项目,一般模板自带的资源配置就能满足需求,要是加载有问题,可以检查项目的资源文件设置是否正确。
这样设置后,图片会被直接嵌入到生成的EXE或DLL文件里,发布时不用手动复制Assets文件夹,XAML能正常加载显示图片。
内容的提问来源于stack exchange,提问作者Ginormous Ide
相关产品推荐
相关产品推荐

