MVVM中的事件处理

时间:2013-05-22 23:20:06

标签: c# mvvm event-handling icommand delegatecommand

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

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

就像我们有ICommand接口/ Relay命令/ Delegate命令一样......我对此不太清楚..

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

1 个答案:

答案 0 :(得分:1)

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

在此,您将注册一个方法(消息处理程序)来“监听”与模式匹配的消息(事件)。一旦你完成了,你可以提出/发布消息(事件),当找到匹配时,正确的处理程序将gat引发

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

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

希望这很有用