Dan*_*iel 5 wpf windowsformshost winforms
我正在使用第三方Windows窗体控件,使用Application.Idle事件执行一些"延迟"操作.
现在我们将应用程序移动到WPF,这些操作停止了.我发现没有按预期引发System.Windows.Forms.Application.Idle事件.
如何在WPF应用程序中触发Idle事件,以便我可以继续使用该第三方控件(在WindowsFormsHost中)?这是不是可以修改Windows窗体控件.
您应该在MSDN上阅读此页面,该页面描述了WPF应用程序中的消息循环行为.特别是看起来ComponentDispatcher类可以用来捕获一个大致对应于Windows Forms Application.Idle事件的ThreadIdle事件.
然后,您可以使用System.Windows.Forms.Application.RaiseIdle方法在组件期望时引发Idle事件.