Reference images stored in external dll using wpf

2020-01-29 09:44发布

I have a wpf application and a class library(dll) project. In my dll I have an images folder with some .png files set as Resource.

I want to reference and display the image using the wpf main application.

Any ideas? I want to do this in the xaml not the code behind if at all possible.

Ta, Matt.

标签: c# wpf image dll png
4条回答
趁早两清
2楼-- · 2020-01-29 09:57

I was already using below but still didn't work.

<Image Source="/ClassLibraryName;Component/images/myimage.png"/>

I changed the "Build Action" to "Resource" but still didn't work.

Finally, after cleaning the solution and rebuilding all, it worked!!!

Setup: Microsoft Visual Studio Enterprise 2015, Windows 10 Pro, C#

查看更多
贼婆χ
3楼-- · 2020-01-29 10:01

First In Class Library Project Set Images(actual Images) Build Type To Resources. Give this Class Library Reference to project whenever you want to use images. When u want this images code as Follow for wpf.

<Image Source="pack://application:,,,/YOUR_DLL_FILE_NAME;Component/Images/Splashscreen.png" Stretch="Fill" />

Images Is FOLDER NAME

查看更多
干净又极端
4楼-- · 2020-01-29 10:08

This did not work for me:

<Image Source="/ClassLibraryName;Component/images/myimage.png"/>

But this did:

<Image Source="pack://application:,,/ClassLibraryName;Component/images/myimage.png"/>

I also cleaned and rebuilt prior to this, but only after adding this addition bit were the images retrieved.

查看更多
一夜七次
5楼-- · 2020-01-29 10:09

Assuming you reference the class library from the WPF application you can reference and display the image in the WPF application with the following XAML:

<Image Source="/ClassLibraryName;Component/images/myimage.png"/>

The important thing here is "ClassLibraryName" which is the assembly name for your class library. "/images/myimage.png" is the path to your image.

You can find out more about WPF pack URIs here.

查看更多
登录 后发表回答