每秒加载新图像

N.D*_*N.D 2 .net c# wpf multithreading image

我需要加载每秒(或两个)新图像.

以下代码不起作用:

System.Threading.Thread.Sleep(2000);
this.Image_LoadImage.Source = new BitmapImage(new Uri(@"D:\\connect2-1.gif"));
System.Threading.Thread.Sleep(2000);
this.Image_LoadImage.Source = new BitmapImage(new Uri(@"D:\\connect3-1.gif"));
Run Code Online (Sandbox Code Playgroud)

我看到的是该应用程序睡眠4秒,然后出现第二个图像.

我该怎么做?谢谢.

EKS*_*EKS 5

使用计时器.

调用线程睡眠会阻止UI线程.找到此链接:


Ste*_*cya 5

使用计时器

    private System.Threading.Timer timer;
    public MainWindow()
    {
        InitializeComponent();
        timer = new System.Threading.Timer(OnTimerEllapsed, new object(), 0, 2000);
    }

    private void OnTimerEllapsed(object state)
    {
        if (!this.Dispatcher.CheckAccess())
        {
            this.Dispatcher.Invoke(new Action(LoadImages));
        }
    }

    private bool switcher;
    private void LoadImages()
    {
        string stringUri = switcher ? @"D:\\connect2-1.gif" :
                                      @"D:\\connect3-1.gif";
        this.Image_LoadImage.Source = new BitmapImage(new Uri(stringUri));

        switcher = !switcher;
    }
Run Code Online (Sandbox Code Playgroud)