WPF顯示Gif動畫


WPF的Image控件不能很好的支持.gif文件。解決辦法有如下2種。

1使用MediaElement 

<MediaElement Source="file://D:\anim.gif"/>

使用時,注意要使用  “file://”和gif文件的絕對路徑。

2使用WinForm里面的PictureBox控件

Winform里面的PictureBox支持播放gif動畫。我們需要的就是將winform控件停靠在wpf窗體中。這需要使用WindowsFormsHost。WindowsFormsHost存在於程序集WindowsFormsIntegration.dll的System.Windows.Forms.Integration命名空間

 

第一步,添加WindowsFormsIntegration.dll和System.Windows.Forms.dll引用。

然后添加下列命名空間到XAML。

<Window x:Class="WpfApplication2.Window1"
    xmlns:wfi="clr-namespace:System.Windows.Forms.Integration;assembly=WindowsFormsIntegration"
    xmlns:winForms="clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms"

現在可以在wpf中放置PictureBox控件了

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

 

在code behind(Window1.xaml.cs),添加到Window_Loaded Event:

private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            this.pictureBoxLoading.Image = System.Drawing.Image.FromFile("anim.gif"); ;
        }

注意:

  1. GIF文件路徑正確
  2. 也可以通過 resource 文件導入.

參考資料:

Animated Gif in WPF using Windows Forms Control

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM