【发布时间】:2011-04-28 12:59:38
【问题描述】:
我最近一直在使用 Silverlight 4 的 MVVM 轻型工具包。
我真的很喜欢其中包含的 EventToCommand 行为,它让生活变得更轻松。我一直想知道的一件事是,如果设置 PassEventArgsToCommand="True" 是不好的做法,因为它会将特定的 RelayCommand 绑定到视图中的特定事件。
例如如果我的 RelayCommand 定义为:
public RelayCommand<System.Windows.Input.KeyEventArgs> myCommand
那么这只能由 KeyUp、KeyDown 等事件调用。
我认为 ViewModel 没有 UI 知识(例如,公开一个布尔转换器并使用转换器将其更改为可见性),PassEventArgsToCommand 不会破坏这一点吗?
【问题讨论】:
-
我在这个问题上与您同在...当它仅基于 ViewModel 执行某些操作(如按钮)时,命令很好而且花花公子,但是当您谈论基于上下文的事件时UI,就像点击鼠标时的位置一样,这并没有让我觉得是一个不知情的 ViewModel。
标签: silverlight mvvm silverlight-4.0 mvvm-light