我有一些任务会冻结UI几秒钟,在这个特定情况下,我没有其他选择,只能从UI线程执行它(通常我使用Dispatchers)。
我完全理解我的窗口在此期间无法重绘自己,但在执行阻塞调用之前如何强制鼠标指针重绘自身?现在我做:
Me.Cursor = System.Windows.Input.Cursors.Wait
[Heavy Task]
Me.Cursor = System.Windows.Input.Cursors.Default
但是窗口没有将光标更新为等待光标,因为UI线程被冻结了?如何强制更新?
答案 0 :(得分:3)
似乎我找到了解决方案。而不是更改窗口的光标,而不是全局覆盖它:
Mouse.OverrideCursor = Cursors.Wait;
[Heavy Task]
Mouse.OverrideCursor = Cursors.Default;