原文: 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了
xmlns:wfi="clr-namespace:System.Windows.Forms.Integration;assembly=WindowsFormsIntegration"
xmlns:winForms="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
xmlns:gif="http://wpfanimatedgif.codeplex.com"
<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