我最近一直在使用Silverlight 4的MVVM light工具箱。EventToCommand是否传递EventArgs不良做法?
我真的很喜欢包含EventToCommand行为,它使生活变得更容易。我一直在想的一件事是,如果设置PassEventArgsToCommand="True"
是不好的做法,因为它会将特定的RelayCommand与View中的特定事件关联起来。
E.g.如果我的RelayCommand被定义为:
public RelayCommand<System.Windows.Input.KeyEventArgs> myCommand
然后,这只能由KeyUp,KeyDown等事件调用。
我以为ViewModel是没有UI知识(例如暴露一个布尔转换器,并使用转换器将其改变为可见性),不PassEventArgsToCommand打破这个?
我在这个问题上与你在那里......当它只是基于ViewModel进行某些操作时(例如按钮),命令就很好,并且很漂亮,但是当您在UI中讨论基于上下文的事件时(例如点击鼠标时的位置),这并不会引起我的注意作为一个不知道的ViewModel。 – 2011-06-08 19:51:52