有没有办法做这样的事情?
背景:我有一个按钮点击。单击按钮时,我尝试显示“正在加载”消息,运行一堆执行某些 UI 工作的代码,然后关闭“正在加载”消息。通常需要几秒钟到 20 秒的时间。目前加载消息根本不显示,UI 冻结,直到我的按钮单击中的代码完成。
我已经阅读了有关 Background Worker 和 Dispatcher 的信息,但无法让它工作。我不确定是否是因为按钮单击中的代码调用了各种其他代码(包括 3rd 方的东西),但我无法让它正确运行。这一切仍然有效,但它仍然冻结 UI 并且没有出现加载消息。
所以,我想知道是否有其他方法可以解决这个问题。是否可以进行设置,以便在单击按钮时仅显示加载消息,然后大约一秒钟后触发另一个执行我长时间运行的进程的事件?这样,用户界面仍会冻结几秒钟,但至少会显示“正在加载”消息。