使用正确的pack:// URI格式

我有一个WPF类库,包含一个包含图像的文件夹“Images”。 在WPF应用程序中,我不会引用该文件夹中的图像

 

图像标记为“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 )。