WPF应用程序中Application.Idle事件未触发

5
我正在使用一个第三方的Windows Forms控件,它使用Application.Idle事件来执行一些“延迟”的操作。
现在我们将应用程序迁移到WPF时,这些操作停止工作了。 我发现System.Windows.Forms.Application.Idle事件没有按预期触发。
如何在WPF应用程序中触发Idle事件,以便我可以继续使用那个第三方控件(在WindowsFormsHost中)?无法修改Windows Forms控件。
2个回答

9

6
谢谢,我之前不知道ComponentDispatcher。使用一行代码(ComponentDispatcher.ThreadIdle += (sender, e) => System.Windows.Forms.Application.RaiseIdle(e);),问题解决了! - Daniel

0
如果你正在使用WPF应用程序,那么即使你的应用程序包含Windows Forms控件,你实际上不再使用System.Windows.Forms.Application类来运行你的应用程序。
相反,你正在使用System.Windows.Application类(不同的命名空间)。

正如 OP 所指出的那样,他正在使用一个无法修改的控件进行交互操作。 - Josh

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接