me gustaría mostrar una animación GIF, como la carga ... en mi XAML como mi procedimiento está progresando. Descubrí que esto no se puede hacer fácilmente en WPF cuando cargué mi Gif y solo muestra el primer fotograma. ¿Cuáles son las mejores formas de mostrar una animación en WPF?pantalla una animación GIF en WPF
Respuesta
Se puede incrustar un MediaElement
<MediaElement LoadedBehavior="Play" Source="path/to.file" />
o winforms cuadro de imagen:
<wfi:WindowsFormsHost>
<winForms:PictureBox x:Name="pictureBoxLoading">
</winForms:PictureBox>
</wfi:WindowsFormsHost>
Sin embargo, me gustaría recomendar la búsqueda de una manera de hacer esto en WPF. Echa un vistazo a StoryBoards y animaciones. Sin saber lo que está tratando de lograr o por qué quiere hacer esto, es difícil aconsejarlo más.
tuve este problema, hasta que descubrí que en WPF4, se puede simular sus propias animaciones de imágenes fotograma clave. Primero, divida su animación en una serie de imágenes, titule algo así como "Imagen1.gif", "Imagen2, gif", y así sucesivamente. Importe esas imágenes en sus recursos de solución. Supongo que los pones en la ubicación de recursos predeterminada para las imágenes.
usted va a utilizar el control de imagen. Use el siguiente código XAML. He eliminado lo no esencial.
<Image Name="Image1">
<Image.Triggers>
<EventTrigger RoutedEvent="Image.Loaded"
<EventTrigger.Actions>
<BeginStoryboard>
<Storyboard>
<ObjectAnimationUsingKeyFrames Duration="0:0:1" Storyboard.TargetProperty="Source" RepeatBehavior="Forever">
<DiscreteObjectKeyFrames KeyTime="0:0:0">
<DiscreteObjectKeyFrame.Value>
<BitmapImage UriSource="Images/Image1.gif"/>
</DiscreteObjectKeyFrame.Value>
</DiscreteObjectKeyFrames>
<DiscreteObjectKeyFrames KeyTime="0:0:0.25">
<DiscreteObjectKeyFrame.Value>
<BitmapImage UriSource="Images/Image2.gif"/>
</DiscreteObjectKeyFrame.Value>
</DiscreteObjectKeyFrames>
<DiscreteObjectKeyFrames KeyTime="0:0:0.5">
<DiscreteObjectKeyFrame.Value>
<BitmapImage UriSource="Images/Image3.gif"/>
</DiscreteObjectKeyFrame.Value>
</DiscreteObjectKeyFrames>
<DiscreteObjectKeyFrames KeyTime="0:0:0.75">
<DiscreteObjectKeyFrame.Value>
<BitmapImage UriSource="Images/Image4.gif"/>
</DiscreteObjectKeyFrame.Value>
</DiscreteObjectKeyFrames>
<DiscreteObjectKeyFrames KeyTime="0:0:1">
<DiscreteObjectKeyFrame.Value>
<BitmapImage UriSource="Images/Image5.gif"/>
</DiscreteObjectKeyFrame.Value>
</DiscreteObjectKeyFrames>
</ObjectAnimationUsingKeyFrames>
</Storyboard>
</BeginStoryboard>
</EventTrigger.Actions>
</EventTrigger>
</Image.Triggers>
</Image>
¡Adopté esto para un juego de Windows Phone en el que estaba trabajando, y funcionó! (Eso sí, no se puede hacerlo con 'EventTrigger's pero sólo mover el código a cabo en un guión normal) – GONeale
consigo "DiscreteObjectKeyFrames no se admiten en WPF" error. –
Simplemente haga clic derecho en el archivo .gif y cambiar dos propiedades:
Acción de generación: Recurso incrustado
Guardar en agenda de salida: Copiar si es más nuevo
Entonces
<MediaElement x:Name="myGif" UnloadedBehavior="Manual" Source="giphy_s.gif" MediaEnded="MediaElement_MediaEnded"/>
y establecer Evento Para seguir corriendo
private void MediaElement_MediaEnded(object sender, RoutedEventArgs e)
{
myGif.Position = new TimeSpan(0, 0, 1);
myGif.Play();
}
- 1. animación GIF en Qt
- 2. Mostrar animación Gif en java
- 3. Mostrando una animación .gif en QLabel
- 4. ¿Cómo grabar pantalla y guardar como animación gif?
- 5. Detener la animación GIF programáticamente
- 6. desactivación de la animación GIF en HTML
- 7. Redimensionar la animación GIF, pil/imagemagick, python
- 8. ¿Puedes controlar la animación GIF con Javascript?
- 9. Cómo extraer fotogramas de una animación GIF con PHP
- 10. Cómo detener una animación en C#/WPF?
- 11. C# gif Imagen en MemoryStream y volver (perder animación)
- 12. Elipse Dibujo Animación WPF
- 13. WPF - animación sincronizada
- 14. Fundir cualquier control usando una animación WPF
- 15. Creando WPF BitmapImage desde MemoryStream png, gif
- 16. Animación WPF: ¿Detecta si alguna animación está en proceso?
- 17. ¿Cómo visualizo una animación gif para el usuario mientras se carga una imagen (en la web)?
- 18. GIF a AVI con ventanas de Animación de control
- 19. WPF Toolkit - Desactivar animación de gráfico
- 20. (WPF) Animación ListView item move
- 21. WPF - animación simple ejemplo simple
- 22. Cambie dinámicamente una animación de rotación en WPF
- 23. WPF Girar animación de rectángulo en XAML
- 24. Forma correcta de restablecer una animación GIF con visualización: ninguna en Chrome
- 25. Cómo escalar una imagen GIF animada en PIL y conservar la animación
- 26. jQuery GIF Animaciones
- 27. Blackberry - Carga/Espera pantalla con animación
- 28. GIF animado en NSImageView
- 29. Android: Gif animado
- 30. Display gif animado en JPanel
posible duplicado de [¿Cómo consigo un gif animado a trabajar en WPF?] (Http://stackoverflow.com/questions/210922/how-do-i- conseguir-un-animado-gif-a-trabajo en wpf) –
[Adición -imagen “Carga” en la parte superior de ListView] (http://stackoverflow.com/questions/1492096/adding-loading-image-on- top-of-listview) – hakre