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

本文关键字:程序 运行 媒体 何禁用 元素 gif | 更新日期: 2023-09-27 18:05:33

我的wpf应用程序中有一个媒体元素,其中包括一个正在加载的gif。当用户选择一个长时间运行的进程时,它基本上会显示一个加载器gif,让用户知道该进程正在运行。我要做的是禁用它一旦长时间运行的进程已经停止运行。我在下面为它包含了XAML和进程结束事件。同时,主要的部分,这是我如何开始和停止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在应该开始的时候开始,在这个过程完成后,它消失了,一个黑色的正方形占据了它的位置。因为我的应用程序的背景是白色的,它只是一个小黑盒子坐在那里处理完成后。从本质上讲,媒体元素点全黑了。谢谢你的帮助!

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

MediaElementVisibility设置为CollapsedHidden,具体取决于您希望如何布局。

loadGif.Visibility = Visibility.Collapsed;