如何以编程方式触发命令
我有一个 ICommand
我想从代码中触发(使执行继续);我该怎么做?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
我有一个 ICommand
我想从代码中触发(使执行继续);我该怎么做?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(4)
尝试调用
执行
方法。Try calling the
Execute
method.假设有
someCommand
和commandArgs
:Assuming there is
someCommand
withcommandArgs
:如果您使用的是 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 correctCommandBinding
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
).请记住,如果您需要调用内部组件的另一个事件(例如单击按钮),请参阅以 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...