如何在Winform的WPF用户控件中播放多个图像的简单幻灯片

本文关键字:播放 图像 幻灯片 简单 控件 Winform WPF 用户 | 更新日期: 2023-09-27 17:51:16

我在Windows窗体的ElementHost中有WPF UserControl。我必须使用互操作,因为我需要简单的缩放和平移功能。一切都很完美,除了我不能播放幻灯片。

有趣的是,每个图像都可以在列表框中显示,没有任何问题。但是当我在列表中循环播放电影时,它只显示最后一张图像。我将Thread.Sleep(1000)、this.Refresh()或其他任何东西放入每个循环中都是徒劳的。

如何在Winform的WPF用户控件中播放多个图像的简单幻灯片

通过在UserControl中创建以下代码并在需要时调用其Refresh方法解决了这个问题。

    public delegate void MyDelegate();
    public void Refresh()
    {
        //this.Refresh();
          this.Dispatcher.Invoke(System.Windows.Threading.DispatcherPriority.Render, (MyDelegate) delegate() { });        
    }