我有一个WPF类库,里面包含一个名为“Images”的文件夹,其中有一张图片。 在一个WPF应用程序中,我想使用以下方式引用该文件夹中的图片:
<Image Name="image" Grid.Row="0" Source="pack://application:,,,/ImageService.dll;Component/Images/image.jpg"/>
图像标记为“资源”,并将其添加到类库项目的资源中。经过一番搜索,我发现我必须将dll复制到exe目录中。
在设计时,图像显示正确。启动可执行文件后,图像的“source”属性为空。没有错误消息,输出窗口也没有提示。
似乎pack uri的格式不正确,因此运行时引用了错误的位置。是否有一种方法可以相对于可执行文件指定程序集名称,使用“....\AssemblyName.dll”或相对于文件系统根绝对路径?
不幸的是,我无法通过代码分配imagesource,因为所有内容都通过XAMLWriter-XAMLReader结构从dll传递到执行程序集。
ImageService
不是你的解决方案的一部分吗?所有引用的汇编都会自动复制到输出路径。 - Rohit Vats