这个问题是在我写 wpf DoEvents 发现的,因为 Dispatcher.Invoke 可以让界面刷新,但是在拖动窗口会让窗口冻结。
Dispatcher.Invoke
所以一个建议的方法是使用 Dispatcher.InvokeAsync ,如果需要深入了解,请看我师傅的文章 深入了解 WPF Dispatcher 的工作原理
Dispatcher.InvokeAsync
在所有使用 Dispatcher.Invoke 的代码都可以通过使用 await Dispatcher.InvokeAsync 去替换
await Dispatcher.InvokeAsync
WPF 界面异常卡死?Dispatcher的死锁