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