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

  • 相关阅读:
    Socket接受多包的问题
    用C#实现winform对数据库读写图片
    C#下载代码,防迅雷
    linux的用户和组
    计算机硬件基础
    操作系统及网络协议
    mysql cluster排错经验分享
    清空使用的swap方法
    智能DNS的安装和配置
    关于nginx和cacti的一次排错经历
  • 原文地址:https://www.cnblogs.com/xinyf/p/9800459.html
Copyright © 2011-2022 走看看