aov*_*ven 3 wpf user-interface routed-commands mvvm
我正在尝试为我的MVVM应用程序实现高度响应的UI,因此我选择让所有命令处理程序自动执行,BackgroundWorker
以便它们不会阻止UI.
但与此同时,我不希望用户在后台执行时仍能执行相同的命令.解决方案似乎很明显:
Executed
调用处理程序,有CanExecute
处理程序返回false
BackgroundWorker
异步BackgroundWorker
完成后,有CanExecute
处理程序返回true
一次.问题是,我需要在步骤1之后通知WPF,然后在步骤3之后再次通知WPF CanExecute
,并且应该是必需的.我知道我可以通过调用来完成它CommandManager.InvalidateRequerySuggested
,但这会导致CanExecute
所有其他命令的处理程序被重新查询.有很多命令,这不好.
有没有办法要求重新查询特定命令 - 即当前正在执行的命令?
TIA
归档时间: |
|
查看次数: |
1615 次 |
最近记录: |