Image shows up in Visual Studio designer but not during run-time Image shows up in Visual Studio designer but not during run-time wpf wpf

Image shows up in Visual Studio designer but not during run-time


This was driving me crazy. I tried lots of different things based on various articles but nothing worked. My xaml window and image are in a separate DLL from the executable assembly. Not sure if that was part of my problem.

In the end I had success with:

  1. Make sure the image properties in the project has "Build Action" = "Resource", NOT "Embedded Resource"
  2. In the xaml, with the image tag selected, use the properties windows to select the Source dropdown since NOW the image appears in the dropdown list! This let visual studio format the string for me.

The string visual studio formatted for my image was:

<Image Source="/Paperless.Common;component/Resources/Checkbook.png" />

where "Paperless.Common" was the name of my assembly, and "Checkbook.png" was my image that resided in a "Resources" folder.


For completeness, the above URI is a Resource File Pack URI, where the URI prefix part is automatically added by the XAML Parser.

The full URI - which you would have to use in code behind - has a pack://application: prefix and would also work in XAML:

Source="pack://application:,,,/Paperless.Common;component/Resources/Checkbook.png"


Maybe the Image does not have the Build Action set to Resource. If it's anything else, including Embedded Resource, then it will not display properly at runtime.


siteoforigin is for files copied to the executable directory or subdirectories, for resources you should use application as authority as far as i know.

SiteOfOrigin:

Path: The name of the site of origin file, including its path relative to the location from which the executable assembly was launched.