【发布时间】:2011-01-17 07:55:09
【问题描述】:
我有一个 wpf 应用程序和一个类库 (dll) 项目。在我的 dll 中,我有一个图像文件夹,其中一些 .png 文件设置为资源。
我想使用 wpf 主应用程序引用和显示图像。
有什么想法吗?如果可能的话,我想在 xaml 中而不是后面的代码中执行此操作。
Ta, 马特。
【问题讨论】:
我有一个 wpf 应用程序和一个类库 (dll) 项目。在我的 dll 中,我有一个图像文件夹,其中一些 .png 文件设置为资源。
我想使用 wpf 主应用程序引用和显示图像。
有什么想法吗?如果可能的话,我想在 xaml 中而不是后面的代码中执行此操作。
Ta, 马特。
【问题讨论】:
假设您从 WPF 应用程序引用类库,您可以使用以下 XAML 在 WPF 应用程序中引用和显示图像:
<Image Source="/ClassLibraryName;Component/images/myimage.png"/>
这里重要的是“ClassLibraryName”,它是类库的程序集名称。 “/images/myimage.png”是您的图片的路径。
您可以了解有关 WPF 包 URI here 的更多信息。
【讨论】:
这对我不起作用:
<Image Source="/ClassLibraryName;Component/images/myimage.png"/>
但是这样做了:
<Image Source="pack://application:,,/ClassLibraryName;Component/images/myimage.png"/>
在此之前我也进行了清理和重建,但只有在添加了这个附加位之后才检索到图像。
【讨论】:
我已经在下面使用了,但是还是不行。
<Image Source="/ClassLibraryName;Component/images/myimage.png"/>
我将“构建操作”更改为“资源”,但仍然无效。
最后,清理解决方案并重建所有后,它成功了!!!
设置:Microsoft Visual Studio Enterprise 2015、Windows 10 Pro、C#
【讨论】:
类库项目中的第一个将图像(实际图像)构建类型设置为资源。 每当您想使用图像时,将此类库引用提供给项目。 当你想要这个图像代码作为 wpf 的关注时。
<Image Source="pack://application:,,,/YOUR_DLL_FILE_NAME;Component/Images/Splashscreen.png" Stretch="Fill" />
图片是文件夹名称
【讨论】: