代码之家  ›  专栏  ›  技术社区  ›  Krzysztof Kozmic

在WPF中处理时间驱动事件的最佳方法是什么

  •  5
  • Krzysztof Kozmic  · 技术社区  · 15 年前

    我有一个简单的应用程序,里面有媒体元素,它播放一些电影,一部接一部。我想在一部电影停止播放和下一部电影开始之间有15秒的延迟。 我是WPF的新手,虽然我知道如何使用计时器和控件.Invoke使用旧的(WinForms)方法来实现这一点,但我认为WPF中一定有更好的方法。有?

    1 回复  |  直到 13 年前
        1
  •  4
  •   MrTelly    15 年前

    这个 DispatcherTimer

    DispatcherTimer yourTimer = new DispatcherTimer();
    
    yourTimer.Interval = new TimeSpan(0, 0, 15); //fifteen second interval
    yourTimer.Tick += new EventHandler(yourTimer_Tick);
    firstVideo.Show();
    

    假设视频结束时触发了一个事件,然后设置

    yourTimer.Enabled = True;
    

    private void yourTimer_Tick(object sender, EventArgs e)
    {
        yourTimer.Enabled = False;//Don't repeat every 15 seconds
        nextVideo.Show();
    }