我的项目的Img文件夹中有几张图像,所有这些图像均设置为Build Action:Resource。
我曾经用相对URI引用所有这些图像,如下所示:
new Uri("Img/image.png", UriKind.Relative);
我不确定发生了什么变化,但是它突然停止工作并且找不到图像。我现在必须像这样引用它们:
new Uri("pack://application:,,,/MyApp;component/Img/image.png");
为了他们的工作。我不知道为什么相对路径突然停止工作。(相对路径在XAML中仍然有效)
Resource
Pack URI必须引用具有构建操作的图像文件。
从MSDN:
资源文件被配置为MSBuild资源项目,并被编译为程序集。WPF支持数据包URI的构造,该数据包URI可以用于标识资源文件,这些资源文件可以编译为本地程序集,也可以编译为从本地程序集引用的程序集。
WPF会自动将前缀pack://application:,,,
(或pack://application:,,,/
)添加到XAML中的图像URI。当你写
<Image Source="/Img/image.png"/>
WPF自动将其转换为本地程序集URI
"pack://application:,,,/Img/image.png".
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句