如何拦截视图中的RoutedCommand的执行? (WPF / MVVM)

在WPF / MVVM应用程序中,我试图找到一种代码高效的方式将主视图光标设置为Cursors.Wait然后再进行任何冗长的操作,并在完成后将其恢复为默认光标。

由于所有的操作都是使用路由命令调用的,所以我想找到一种拦截命令执行的方式,理想情况是创建一个通用命令类来封装内置路由命令的实例,但我无法想象如何执行这个。

具体来说, RoutedCommand.Execute方法不是虚拟的,所以我需要另一种机制来拦截它的调用。 另外,我不确定通用命令类的实例如何引用必须为其设置游标的视图。

有什么建议吗?

谢谢,

蒂姆


您可以静态设置光标。 其效果是当应用程序具有焦点时,而不是当它超过某个控件时,光标将是“等待”。

该代码将在冗长的操作开始时成为ViewModel的一部分:

Mouse.OverrideCursor = Cursors.Wait;

操作完成后,您必须像这样清除覆盖:

Move.OverrideCursor = null;
链接地址: http://www.djcxy.com/p/1643.html

上一篇: How to intercept execution of a RoutedCommand within the view? (WPF / MVVM)

下一篇: Collecting information about thread scheduling on Linux