使用正确的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 )。