我的项目中的Img文件夹中有几个图像,所有这些图像都设置为Build Action:Resource。
我曾经使用相对URI来引用所有这些图像,如下所示:
new Uri("Img/image.png", UriKind.Relative);
我不确定最新消息,但它突然停止工作并且找不到图像。 我现在必须像这样推荐他们:
new Uri("pack://application:,,,/MyApp;component/Img/image.png");
为了让他们工作。我无法弄清楚为什么相对路径突然停止工作。 (相对路径仍然在XAML中工作)
答案 0 :(得分:0)
具有构建操作Resource
的图像文件必须由包URI引用。
来自MSDN:
资源文件被配置为MSBuild资源项目 编译成程序集。 WPF支持包URI的构造 可用于标识已编译的资源文件 进入本地程序集或编译成一个程序集 从本地程序集引用。
WPF会自动将前缀pack://application:,,,
(或pack://application:,,,/
)添加到XAML中的图像URI。当你写
<Image Source="/Img/image.png"/>
WPF会自动将其转换为本地程序集包URI
"pack://application:,,,/Img/image.png".