在WPF中显示动画gif

我希望在我的XAML中显示动画gif,例如loading …,因为我的程序正在进行中。 我发现这在WPF中不能轻易完成,因为我加载了我的Gif并且它只显示了第一帧。 在WPF中显示动画的最佳方法是什么?

我有这个问题,直到我发现在WPF4中,你可以模拟你自己的关键帧图像动画。 首先,将动画分成一系列图像,标题为“Image1.gif”,“Image2,gif”等。 将这些图像导入解决方案资源。 我假设你把它们放在图像的默认资源位置。

您将使用Image控件。 使用以下XAML代码。 我删除了非必需品。

                                      

你可以嵌入一个MediaElement

  

或winforms PictureBox:

      

但是,我建议在WPF中找到一种方法。 看看StoryBoards和动画。 如果不知道你想要实现什么或者为什么要这样做,那么很难进一步提出建议。

只需右键单击.gif文件并更改两个属性:

构建操作:嵌入式资源

复制到输出目录:如果更新则复制

然后

   

并设置继续运行的事件

 private void MediaElement_MediaEnded(object sender, RoutedEventArgs e) { myGif.Position = new TimeSpan(0, 0, 1); myGif.Play(); }