Here is a similar question. Generally setting Stretch="None"
is enough.
It is also very important what DPI has the image set in metadata. It took me quite a while before figuring out that if the image’s DPI is different from the monitor’s DPI (usually 96), WPF will automatically resize the image, as it tries to be DPI-independent.
EDIT
The MSDN link is broken, here is the new link:
MSDN Blog – Blurry Bitmaps. Let’s keep the old link around to be used for archive.org, in case the new link stops working also.