在我的 WPF C# 应用程序中,我在处理事情时显示了一个小圆圈动画,让用户知道应用程序正在“思考”,他们应该冷静下来。这是一个单独的exe。因此,例如,当用户单击一个按钮以运行分析(可能需要 5-10 秒)时,我会启动显示动画的过程,当一切完成时,我会停止该过程。在此期间,新产生了子线程来处理后台任务。完成后,UI 会更新,由于复杂的数据网格,这可能需要几秒钟。
虽然这在技术上有效,但我宁愿以不同的方式处理它。我宁愿让应用程序自动检测线程何时工作并自动显示动画,当线程全部完成时,它会停止显示它。我可以轻松检测到后台线程,但如何检测 UI 线程?我宁愿这样做,因为有几次我不小心错过了杀死应用程序,并且在处理完成后它仍在运行。这将阻止这种情况。
UI 线程启动和停止时是否会触发事件?如果没有,假设我在其中放置了一个每 1/2 秒触发一次的计时器,是否可以拨打电话告诉我 UI 线程的状态?
谢谢