我最近一直在使用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