Mostrar GIF en una aplicación WP7 con Silverlight

Me gustaría mostrar gif en mi aplicación WP7. ¿Hay alguna forma de lograr esto?

He probado este http://imagetools.codeplex.com/ pero no puedo hacerlo funcionar con WP7.

Gracias de antemano por cualquier ayuda

De hecho, está funcionando, pero le falta algo de documentación.

Después de algunos problemas, así es cómo usarlo:

  • referencia ImageTools
  • referencia ImageTools.Controls
  • referencia ImageTools.IO.Gif

Agregar espacio de nombres en xaml:

xmlns:imagetools="clr-namespace:ImageTools.Controls;assembly=ImageTools.Controls" 

Y recursos:

    

Luego usa el control con el convertidor:

  

Su ImageSource debería ser un Uri, por ejemplo:

 ImageSource = new Uri("http://sofes.miximages.com/silverlight/my.gif", UriKind.Absolute); 

No olvides agregar decodificado:

 ImageTools.IO.Decoders.AddDecoder(); 

Consulte la publicación de Jamie Rodriguez aquí sobre el uso de GIF con WP7. Él usa el proyecto de ImageTools de CodePlex.

http://blogs.msdn.com/b/jaimer/archive/2010/11/23/working-with-gif-images-in-windows-phone.aspx

Luché para que funcionara la respuesta aceptada. La siguiente solución funcionó para mí para mostrar un gif estático.

  public ImageResponse(string imageUrl) { InitializeComponent(); ImageTools.IO.Decoders.AddDecoder(); var imageResponse = new ExtendedImage(); imageResponse.UriSource = new Uri(imageUrl); imageResponse.LoadingCompleted += this.ImageResponseLoadingCompleted; } private void ImageResponseLoadingCompleted(object sender, EventArgs e) { var imageResponse = (ExtendedImage)sender; Classes.Util.UiThread.Invoke(() => { this.ImageResponse.Source = imageResponse.ToBitmap(); }); } 

Classes.Util.UiThread es una clase de ayuda que utilizo para llamar a la UI Thread

this.ImageResponse es un control de imagen estándar

¿Es un GIF animado? De lo contrario, trataría de convertir el GIF a otro formato de archivo compatible antes de usarlo en tu aplicación.

WP7 Silverlight admite JPG / PNG.

Según http://msdn.microsoft.com/en-us/library/ff462087(VS.92).aspx, el control de imagen de Silverlight no admite archivos GIF.

Al usar ImageTools está convirtiendo el archivo GIF a otra cosa sobre la marcha en el dispositivo. Si está utilizando archivos gif de los que tiene control (es decir, los está agrupando en el XAP o provienen de su servidor web), debe usar las versiones convertidas de estos archivos.

Esto significará que la aplicación tiene que hacer menos.
El efecto de golpe es que:
1. Tendrá que escribir menos código.
2. La aplicación tendrá que hacer menos trabajo y, por lo tanto, funcionará un poco mejor.

Por supuesto, esto no cubre los GIF animados. Para estos, necesitarás usar un enfoque diferente.