【问题标题】:What comes first - Command or EventHandler?什么是第一位的 - 命令或事件处理程序?
【发布时间】:2012-07-12 08:48:34
【问题描述】:

Microsoft 的 MVVM 模式及其命令/事件处理方面考虑我正在将命令绑定到控件(例如按钮)并订阅控件的 Click 事件。

是否有任何一般规则首先发生什么动作 - 处理与命令关联的代码或与相应事件处理程序关联的代码?

【问题讨论】:

  • 我想最大的问题是,为什么你会同时做这两件事。使用命令的关键在于,您通常会将其绑定到 ViewModel 中的 ICommand,通过这样做,VM 不需要了解有关 Button 的任何信息。这是将一些代码和VM混合在一起的情况吗?如果您使用的是虚拟机,您如何绑定到按钮事件?
  • @SteveSolomon 好吧,我正在尝试处理运行时控件的动态创建。为了尊重 MVVM 模式,我尝试将所有必要的代码留在 VIEW 中。所以我目前正在使用命令绑定来连接 VIEW/VIEWMODEL 和 EventHandlers 以进行“Inter-VIEW”操作。
  • 我不认为这是具体的。我认为第一个订阅该事件的人将首先被提出。如果该命令连接到 XAML,我希望它会首先订阅。但是,给猫剥皮的方法不止一种。
  • 如果未记录在案,则行为可能会在未来发生变化。我建议编程,因为它可能会因调用而异。

标签: c# wpf mvvm event-handling icommand


【解决方案1】:

EventHandlers 在绑定的 ICommand 之前触发。

【讨论】:

  • 这是正确的。当我希望在处理命令之前进行一些特定于视图的检查时,我偶尔会这样做。如果检查失败,事件可以取消命令。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-28
  • 1970-01-01
  • 2014-04-05
  • 2011-09-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多