(我的 WPF 代码实际上是在一个 DLL 中,并且由非 CLR 代码启动并与之交互,所以这不是标准的 WPF 应用程序。我从未在纯 WPF 应用程序中看到过这种行为,但我不确定如果问题与此有关)
如果我的视图模型在一段时间内快速变化并且 UI 线程花费大量时间试图跟上它(我有几个转换器和一些复杂的布局必须在 VM 更改时刷新,例如 DataGrids 调整大小添加行时它们的列等),会自动显示等待光标(我猜是操作系统)我在我的代码或 XAML 中没有做任何事情来更改光标。Cursors.Wait
当您在 WPF中将光标设置为时,它也与您获得的等待光标不同。它是箭头光标,但它旁边有一个等待圆圈。
我不希望这种情况发生,因为程序并不是真的“等待”。大多数事情都在后台线程中进行,UI 线程只是花费大量时间试图跟上它,但是 UI 并非没有响应。更令人讨厌的是,即使在应用程序(包括后台线程)变得空闲之后,这个光标仍然保持不变 - 直到鼠标移动。鼠标一移动,它就消失了,但如果用户不移动鼠标,他可能会在不经意间认为应用程序仍然很忙,而实际上它是完全空闲的。
使用 WPF 函数设置光标的任何方式都无法覆盖此光标。