如何禁用后台运行的控件

本文关键字:控件 运行 后台 何禁用 | 更新日期: 2023-09-27 18:23:56

我在主窗口中有一个页面转换控件(有几个按钮和一个主页按钮通向主页),所以我点击主窗口上的一个按钮,它会将用户控制页面带入主窗口中的页面转换,在该用户控制页面中会播放音频,好吧,但当我点击主页按钮显示主页时,来自该用户控制页面的音频仍在播放。如何阻止用户控制页在后台运行?

这就是我如何将用户控制页面调用为主窗口中的页面转换控件:

    private void button2_Click(object sender, RoutedEventArgs e) // Story
    {
        Story page = new Story();
        pageTransition1.IsEnabled = true;
        pageTransition1.Visibility = System.Windows.Visibility.Visible;
        grid1.Visibility = System.Windows.Visibility.Hidden;
        pageTransition1.ShowPage(page);
    }

    private void button5_Click(object sender, RoutedEventArgs e) // Home Button
    {
        pageTransition1.Visibility = System.Windows.Visibility.Hidden;
        pageTransition1.IsEnabled = false;
        grid1.Visibility = System.Windows.Visibility.Visible;
    }

基本上,当我点击主页按钮时,我只想让用户控制页面停止运行(因为它在后台运行)。

我如何在我的用户控制页面中播放我的声音::

            mediaElement1.LoadedBehavior = MediaState.Manual;
        mediaElement1.Source = new Uri(audioNames[iCurrentImageCount], UriKind.RelativeOrAbsolute);
        mediaElement1.Play();

     MediaPlayer ap = new MediaPlayer();
        recordedaudio = System.IO.Directory.GetFiles(@"../../Audio/", "*.wav");
        if (recordedaudio == null)
        { MessageBox.Show("No Recorded Files!"); }
        else
        {
            ap.Open(new Uri(recordedaudio[iCurrentImageCount], UriKind.RelativeOrAbsolute));
            ap.Play();
        }

如何禁用后台运行的控件

一种解决方案是处理用户控制页中的Unloaded事件并停止播放媒体。