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());
}
通过winform中的PictureBox控件
这种方式可以指定相对路径;首先,你需要在wpf程序中添加window的程序集引用:System.Drawing.dll、System.Windows.Forms.dll和WindowsFormsIntegration.dll
aaarticlea/png;base64,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" alt="" />
引用类型后,你就可以在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/
WPF显示GIF图的几种方式的更多相关文章
- 使用Photoshop切图的三种方式
PhotoShop切图的三种方式 1. 原始切图 (1)选择工具栏中的切片工具 (2)找到要切片的元素,在右侧的图层框中,使元素背景隐藏,然后用切片工具选择需要切片的元素 (3)导出为web常 ...
- HTML中设置背景图的两种方式
HTML中设置背景图的两种方式 1.background background:url(images/search.png) no-repeat top; 2.background-image ...
- MATLAB 显示输出数据的三种方式
MATLAB 显示输出数据的三种方式 ,转载 https://blog.csdn.net/qq_35318838/article/details/78780412 1.改变数据格式 当数据重复再命令行 ...
- Windows10-UWP中设备序列显示不同XAML的三种方式[3]
阅读目录: 概述 DeviceFamily-Type文件夹 DeviceFamily-Type扩展 InitializeComponent重载 结论 概述 Windows10-UWP(Universa ...
- JavaScript+HTML+CSS 无缝滚动轮播图的两种方式
第一种方式 在轮播图最后添加第一张,一张重复的图片. 点击前一张,到了第一张,将父级oList移动到最后一张(也就是添加的重复的第一张),在进行后续动画. 点击下一张,到了最后一张(也就是添加的重复的 ...
- 加载gif动态图的三种方式
准备:本地图片资源,GifView
- ImageLoader框架的使用、调用系统相册显示图片并裁剪显示、保存图片的两种方式
ImageLoader虽然说是一个相对于比较老的一个框架了 ,但是总的来说,还是比较好用的,今天我就总结了一下它的用法.还有调用系统相册并裁剪,以及,通过sharedpreference和文件存储来保 ...
- WPFの操作文件浏览框几种方式
方式1: 使用win32控件OpenFileDialog Microsoft.Win32.OpenFileDialog ofd = new Microsoft.Win32.OpenFileDialog ...
- WPF内嵌网页的两种方式
在wpf程序中,有时会内嵌网页.内嵌网页有两种方法,一种是使用wpf自带WebBrowser控件来调用IE内核,另一种是使用CefSharp包来调用chrom内核. 一.第一种使用自带WebBrows ...
随机推荐
- 测试MailUtils,作用是发邮件
package cn.itcast.test; import java.io.IOException; import javax.mail.MessagingException; import jav ...
- 混搭.NET技术
新闻 .NET技术+25台服务器怎样支撑世界第54大网站 再度燃起人们对.NET的技术热情.这篇新闻中透露了StackExchange 在技术方面的混搭,这也是我所崇尚的.因此我也在社区里极力推广Mo ...
- ASP.NET MVC 5 Web编程2 -- URL映射(路由原理)
本章将讲述ASP.NET MVC5 的路由原理,即URL映射机制. 简单点就是解释:为什么MVC在浏览器输入地址就能访问到类(或类中的方法)?这是怎么做到的?我自己可以通过.NET写出一个自己的MVC ...
- Web3DGame之路(三)分析babylonjs
BabylonJS的例子十分详实 http://doc.babylonjs.com/tutorials Babylonjs的学习比较顺畅,开始做一些深入分析 一.语言选择 首先是js还是ts的问题 ...
- 谁占了我的端口 for Windows
这篇文章发布于我的 github 博客:原文 今天在本地调试 Blog 的时候意外的出现了一些错误:127.0.0.1 4000 端口已经被其他的进程占用了.如何找到占用端口的进程呢? Configu ...
- Redis命令笔记
一.string类型:(1)set :设置key对应的值为string类型的value,例:set name helloworld(2)get :获取key对应的值为string类型的value,例: ...
- Java接口和抽象类的区别
今天看到项目中,写了一个抽象类,里面有很多方法继承了这类,当调用这个接口时,采用的是这个抽象类去调方法的,当时一想,这个不就是我们说的Java的多态的特征: 继承:存在继承关系的子类和父类 重写:子类 ...
- Android开发-之第一个程序:HelloWorld!
小编觉得不管学习什么编程的时候,第一个程序都是要求打印输出一个"HelloWorld!",那就从最简单的HelloWorld开始吧!哈哈~~~~ 一.创建一个Android工程 1 ...
- VS-项目发布失败的解决方案1
报错信息 错误 1 未能将文件 Script\easyui\themes\gray\images\Thumbs.db 复制到 obj\Release\Package\PackageTmp\Script ...
- VMware 中如何打开U盘弹出U盘或者移动硬盘的(两种方法)
1.U盘如下,插入后都是直接在win里面显示的 2.选择连接u盘 3.u盘就可以在虚拟机里面显示了 4.弹出则选择断开连接 扩展:如果无效:请参考这种方法 (给虚拟机分配一个临时硬盘,然后设置这个临时 ...