在 WPF/MVVM 应用程序中,我试图找到一种代码高效的方法来将主 View 光标设置为 Cursors.Wait
在任何冗长的操作之前,并在完成后将其恢复到默认光标。
由于所有操作都是使用路由命令调用的,我想找到一种拦截命令执行的方法,理想情况下是通过创建一个通用命令类来包装内置路由命令的实例,但我无法想象如何做这个。
具体来说,RoutedCommand.Execute
方法不是虚拟的,所以我需要另一种机制来拦截它的调用。另外,我不确定通用命令类的实例如何引用它必须为其设置光标的 View 。
请问有什么建议吗?
谢谢,
蒂姆
最佳答案
您可以以静态方式设置 Cursor。效果是当应用程序具有焦点而不是在某个控件上时光标将是“等待”。
代码,在冗长的操作开始时将成为 ViewModel 的一部分:
Mouse.OverrideCursor = Cursors.Wait;
操作完成后,您必须像这样清除覆盖:
Move.OverrideCursor = null;
关于wpf - 如何在 View 中拦截 RoutedCommand 的执行? (WPF/MVVM),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3193907/