zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    2019年8月7日 封装 7夕快乐
    2019年8月4日 多态 苗苗苗苗苗
    2019年7月31日 选课系统
    字符串类型的输入输出
    getline()函数的使用
    出栈序列统计
    因式分解
    质数
    多项式求和
    回文数字
  • 原文地址:https://www.cnblogs.com/xinyf/p/9800459.html
Copyright © 2011-2022 走看看