你的位置:首页 > ASP.net教程

[ASP.net教程]WPF显示GIF图的几种方式


使用MediaElement

  这种方式有一个局限就是图片路径必须是绝对路径

 <MediaElement Source="file://C:\129.gif" />

  并且你还需要设置让他循环播放

<MediaElement Source="file://C:\129.gif" MediaEnded="MediaElement_MediaEnded"/>

 private void MediaElement_MediaEnded(object sender, RoutedEventArgs e) {   ((MediaElement)sender).Position=((MediaElement)sender).Position.Add(TimeSpan.FromMilliseconds(1)); }

通过winform中的PictureBox控件

  这种方式可以指定相对路径;首先,你需要在wpf程序中添加window的程序集引用:System.Drawing.dll、System.Windows.Forms.dll和WindowsFormsIntegration.dll

  引用类型后,你就可以在XAML代码中使用winform中的PictureBox了

 ="clr-namespace:System.Windows.Forms.Integration;assembly=WindowsFormsIntegration" ="clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms"

 <wfi:WindowsFormsHost>   <winForms:PictureBox x:Name="PictureOfGif"></winForms:PictureBox> </wfi:WindowsFormsHost>

  在程序load事件中绑定图片

  void MainWindow_Loaded(object sender, RoutedEventArgs e)  {    this.PictureOfGif.Image = System.Drawing.Image.FromFile("images/129.gif");  }

 WpfAnimatedGif

  可以通过控制台或者Nuget安装

  Install-Package WpfAnimatedGif


<Image gif:ImageBehavior.AnimatedSource="Images/animated.gif" />

  GitHub地址:https://github.com/XamlAnimatedGif/WpfAnimatedGif

相关文档:

https://nnish.com/tag/animated-gif-in-wpf/

https://social.msdn.microsoft.com/Forums/vstudio/en-US/93d50a97-0d8d-4b18-992e-cd3200693337/how-to-use-an-animated-gif?forum=wpf