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:
- Make sure the image properties in the project has "Build Action" = "Resource", NOT "Embedded Resource"
- 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"
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…