在XAML中使用ICommand时,WPF使用CanExecute方法启用或禁用与该命令关联的控件。但是,如果我从过程代码中调用Execute怎么办?我应该首先检查CanExecute以确保命令可以执行,还是应该Execute为我执行此检查?

换句话说,我应该这样做:

if (someCommand.CanExecute(parameter, target))
    someCommand.Execute(parameter, target);

或者只是这样:
someCommand.Execute(parameter, target);

最佳答案

好的风格将决定您应该做前者,首先检查CanExecute。这将强制执行适当的分解并实现一致。同样,如果您确实想使用绑定(bind)到按钮的此命令,它将按预期工作。

关于c# - 从程序代码调用Execute之前,应该检查ICommand的CanExecute方法吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6943076/

10-10 21:57