Reputation: 761
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.
Upvotes: 42
Views: 35766
Reputation: 11
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
Upvotes: 1
Reputation: 405
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#
Upvotes: 5
Reputation: 324
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.
Upvotes: 10
Reputation: 1001
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.
Upvotes: 65