如何在程序运行时禁用媒体元素(.gif)

时间:2015-07-29 14:06:51

标签: c# wpf xaml animated-gif mediaelement

我的wpf应用程序中有一个media元素,其中包含一个加载gif。当用户选择长时间运行的进程时,它基本上显示一个加载器gif,让用户知道进程正在运行。我想要做的是在长时间运行的进程停止运行后禁用它。我在下面列出了XAML和流程结束事件。另外,主要部分,这就是我如何启动gif并停止gif。那里我可能错了。

    loadGif.Play();

// Long running process(s)

    loadGif.Pause();
    loadGif.Close();

以下XAML:

 <MediaElement Name="loadGif" HorizontalAlignment="Left" LoadedBehavior="Manual" MediaEnded="process_Ended" Height="22" Margin="609,226,0,0" VerticalAlignment="Top" Width="31" RenderTransformOrigin="-0.258,0.523" Source="C:\\ajax-loader.gif"/>

流程结束:

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

另外,我忘了提到现在发生的事情,此刻,当它开始时,GIF开始,并且在完成过程之后,它会消失并且黑色正方形占据其位置。由于我的应用程序的背景是白色的,它只是在处理完成后坐在那里的一个小黑盒子。从本质上讲,媒体元素点全黑。谢谢你的帮助!

1 个答案:

答案 0 :(得分:0)

Visibility的{​​{1}}设置为MediaElementCollapsed,具体取决于您希望布局如何工作。

Hidden