【问题标题】:Event handling in MVVMMVVM 中的事件处理
【发布时间】:2013-05-22 23:20:06
【问题描述】:

在 MVVM 中,Model 通常具有数据模型,视图是 UI (XAML),它进一步绑定到属性 VM,ViewModel 通常继承 INotifyPropertyChanged。

在事件处理方面,是否有任何特定的模式来处理 UI 上的所有事件? 例如:假设我们有保存/新建/关闭按钮或其他按钮... 并且期望的目标是当用户执行某些操作并单击任何按钮时,控制应该转到后面的代码并应该执行所需的操作...我应该如何确保我以正确的方式完成了事件处理?我应该使用哪个界面/何时以及如何使用

就像我们有 ICommand 接口/中继命令/委托命令...我不清楚这个..

提前感谢您对我的询问的回复...

【问题讨论】:

  • P.S.我唯一关心的只是事件处理......谢谢

标签: c# mvvm event-handling icommand delegatecommand


【解决方案1】:

Amit,如果您打算连接按钮,可接受的方式是使用 ICommand 的实现(我个人的偏好是 RoutedCommand)。如果您的目标是引发和处理事件,请查看基于发布者/订阅者模式的事件聚合器。

在此,您将注册一个方法(消息处理程序)来“侦听”与模式匹配的消息(事件)。完成此操作后,您可以引发/发布消息(事件),当找到匹配项时,将引发正确的处理程序

微软的 PRISM 框架在实现事件聚合模式方面做得很好

http://msdn.microsoft.com/en-us/library/ff921122(v=pandp.20).aspx

希望对你有用

【讨论】:

猜你喜欢
  • 2010-12-27
  • 1970-01-01
  • 2010-12-05
  • 1970-01-01
  • 1970-01-01
  • 2017-05-06
  • 1970-01-01
  • 1970-01-01
  • 2011-06-28
相关资源
最近更新 更多