如何以编程方式触发命令

发布于 2024-08-11 21:33:58 字数 56 浏览 10 评论 0 原文

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

I have an ICommand that I want to fire (make the execute go) from code; how do I do this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

绅刃 2024-08-18 21:33:58

尝试调用 执行 方法。

Try calling the Execute method.

生活了然无味 2024-08-18 21:33:58

假设有 someCommandcommandArgs

if (someCommand.CanExecute(commandArgs))
{
    someCommand.Execute(commandArgs);
}

Assuming there is someCommand with commandArgs:

if (someCommand.CanExecute(commandArgs))
{
    someCommand.Execute(commandArgs);
}
£烟消云散 2024-08-18 21:33:58

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

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

If you're using RoutedUICommand's Execute and CanExecute, be sure to pass in a valid target so that the correct CommandBinding can be found.

Also, if your command's handlers do not modify View objects directly, consider using Kent Boogaart's DelegateCommand. Using delegate commands will move the business logic to the ViewModel, which is nice, and they're especially handy if you need execute commands directly from code and you don't have access to the View (or a View object from which you can bubble to your CommandBindings).

终难遇 2024-08-18 21:33:58

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

其他答案都可以,仅使用执行...

Remember, if you need call another event of internal components, like a click button, see the methods startin with Perform (like PerformClick of a button).

Another answers are okay, use Execute only...

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文