WPFでGIFアニメを表示するとなると、GDI+に逃げてSystem.Drawingを使う例がほとんどです。
いばらの道ですがBitmapDecoderを使ってMetaDataを取得することにより各フレームの画像と必要な情報を取得することができます。
FileStream imageFileStrm = new FileStream("./Resources/GifAnime.gif",
FileMode.Open, FileAccess.Read, FileShare.Read);
BitmapDecoder decoder = BitmapDecoder.Create(imageFileStrm,
BitmapCreateOptions.PreservePixelFormat,
BitmapCacheOption.Default);
BitmapMetadata metadata = (BitmapMetadata)decoder.Frames[0].Metadata;
var top = metadata.GetQuery("/imgdesc/Top");
var left = metadata.GetQuery("/imgdesc/Left");
var width = metadata.GetQuery("/imgdesc/Width");
var height = metadata.GetQuery("/imgdesc/Height");
var delay = metadata.GetQuery("/grctlext/Delay");
var transparencyFlag = metadata.GetQuery("/grctlext/TransparencyFlag");
var transparentColorIndex = metadata.GetQuery("/grctlext/TransparentColorIndex");
image.Source = decoder.Frames[0];
ここから先もまだ長いのですが、この方法を応用したライブラリが既にあります。
理屈は抑えておくとソースもダウンロードできるし安心してライブラリを使えます。
WPF Animated GIF
http://wpfanimatedgif.codeplex.com/