According to Microsoft you should be able to use
BmpBitmapDecoder (or the decoder of choice). I've tested, and it worked:
Stream bmpStream =
new System.IO.FileStream("smiley.bmp", FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite);
BmpBitmapDecoder bmpDecoder =
new BmpBitmapDecoder(bmpStream, BitmapCreateOptions.PreservePixelFormat, BitmapCacheOption.Default);
BitmapFrame bmpFrame = bmpDecoder.Frames[0];