ComponentDispatcher.ThreadIdle和DispatcherPriority.ApplicationIdle的区别

时间:2014-09-26 11:53:53

标签: wpf windowsformhost

有人可以告诉我代码之间的区别:

1

 System.Windows.Interop.ComponentDispatcher.ThreadIdle += (s, e) => System.Windows.Forms.Application.RaiseIdle(EventArgs.Empty);

和 2。

 DispatcherTimer timer = new DispatcherTimer(DispatcherPriority.ApplicationIdle);
 timer.Tick += (s, e) => System.Windows.Forms.Application.RaiseIdle(EventArgs.Empty);
 timer.Start();

我们正在使用WindowsFormsHost在WPF应用中托管WinFrom UserControl。 我们正在尝试在调度程序线程上加载图像(大约1000个),并且当应用程序空闲时,我们使用WinForm的Application.Idle事件更新Winform控件中的一些菜单和UI。
在第一种情况下,情况正常,但在第二种情况下不起作用。在第二种情况下,我需要移动鼠标继续加载图像其他明智的图像加载停止。
我将使用第一个,因为我需要修复bug。
但是我需要在推送代码之前了解其中的区别。

0 个答案:

没有答案