我有一个WPF类库,包含一个包含图像的文件夹"Images".在WPF应用程序中,我不会引用该文件夹中的图像
<Image Name="image" Grid.Row="0" Source="pack://application:,,,/ImageService.dll;Component/Images/image.jpg"/>
Run Code Online (Sandbox Code Playgroud)
图像标记为"Ressource",我还将其添加到类库Project的资源中.经过一番搜索,我发现,我必须将dll复制到exe目录中.
在设计期间,图像正确显示.启动可执行文件source后,图像的属性为null.输出窗口中没有错误消息和提示.
看来,包uri的格式不正确,因此运行时指的是错误的地方.有没有办法指定相对于可执行文件的程序集名称,使用"....\AssemblyName.dll"或绝对文件系统root.
不幸的是我无法通过代码分配imagesource,因为所有内容都通过XAMLWriter - XAMLReader构造从dll到执行程序集.
任何帮助是apreciated,
提前致谢
您不必将图像复制到输出目录.确保标记Build Action为Resource并设置Copy to Output Directory为false.
此外,如果XAML和图像位于同一程序集中,您可以跳过包URI中的程序集名称.如果它们驻留在不同的程序集中,则必须仅提供程序集名称(从路径中删除dll).
<Image Source="pack://application:,,,/ImageService;Component/Images/image.jpg"/>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1762 次 |
| 最近记录: |