我应该使用什么控制类型 -Image
, MediaElement
, etc.?
我无法得到这个问题的最流行的答案(上面由达里奥)正常工作。结果是奇怪的、断断续续的动画和奇怪的伪影。
到目前为止我找到的最佳解决方案:https://github.com/XamlAnimatedGif/WpfAnimatedGif https://github.com/XamlAnimatedGif/WpfAnimatedGif
您可以使用 NuGet 安装它
PM> Install-Package WpfAnimatedGif
并使用它,在窗口的新命名空间中添加 gif 图像并按如下方式使用它
<Window x:Class="MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:gif="http://wpfanimatedgif.codeplex.com" <!-- THIS NAMESPACE -->
Title="MainWindow" Height="350" Width="525">
<Grid>
<!-- EXAMPLE USAGE BELOW -->
<Image gif:ImageBehavior.AnimatedSource="Images/animated.gif" />
这个包真的很简洁,你可以设置一些属性,如下所示
<Image gif:ImageBehavior.RepeatBehavior="3x"
gif:ImageBehavior.AnimatedSource="Images/animated.gif" />
您也可以在代码中使用它:
var image = new BitmapImage();
image.BeginInit();
image.UriSource = new Uri(fileName);
image.EndInit();
ImageBehavior.SetAnimatedSource(img, image);
编辑:Silverlight 支持
根据 josh2112 的评论,如果您想向 Silverlight 项目添加动画 GIF 支持,请使用github.com/XamlAnimatedGif/XamlAnimatedGif http://github.com/XamlAnimatedGif/XamlAnimatedGif
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)