9

我有一个ICommand我想从代码中触发(使执行开始);我该怎么做呢?

4

4 回答 4

24

尝试调用该Execute方法。

于 2009-11-15T23:21:19.870 回答
8

someCommand假设有commandArgs

if (someCommand.CanExecute(commandArgs))
{
    someCommand.Execute(commandArgs);
}
于 2009-11-15T23:28:46.720 回答
4

如果您使用RoutedUICommand的是ExecuteCanExecute,请务必传入有效的目标,以便CommandBinding找到正确的目标。

此外,如果您的命令处理程序不直接修改 View 对象,请考虑使用 Kent Boogaart 的DelegateCommand。使用委托命令会将业务逻辑移动到 ViewModel,这很好,如果您需要直接从代码执行命令并且您无权访问 View(或您可以从中冒泡的 View 对象),它们会特别方便给你的CommandBindings)。

于 2009-11-15T23:49:33.507 回答
0

请记住,如果您需要调用内部组件的另一个事件,例如单击按钮,请参阅以 Perform 开头的方法(例如按钮的 PerformClick)。

另一个答案还可以,仅使用 Execute ...

于 2009-11-16T03:18:41.490 回答