首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 媒体动画 > CAD教程 >

使用mvvm模式,怎么传递鼠标事件中的参数sender,e

2013-04-02 
使用mvvm模式,如何传递鼠标事件中的参数sender,e?[codeC#][ i:EventTrigger EventNameClicki:Invok

使用mvvm模式,如何传递鼠标事件中的参数sender,e?
[code=C#][
 <i:EventTrigger EventName="Click">
                                                                <i:InvokeCommandAction Command="{Binding ClickCommand}"   CommandParameter="{Binding e}"/>
                                                            </i:EventTrigger>
                                                            <i:EventTrigger EventName="LeftButtonDown">
                                                                <i:InvokeCommandAction Command="{Binding  LeftButtonDownCommand}" CommandParameter="{Binding ElementName=e}"/>
                                                            </i:EventTrigger>
/code]

是不是我上面两个事件那样传递参数,如何在viewmodel中获得我的参数e??
[解决办法]
RelayCommand<你看你的e是什么对象这里就写什么对象就行> 
[解决办法]
首先我觉得没有必要传递sender 和e
原因在于vm最好不关心前台的控件到底是什么东西 这样才能解耦所以sender是最好不要在vm中被使用
e就更不需要了 因为mvvm的精髓在于操作数据 前台就绑定 所以你直接操作数据就行了
e中的参数实际上就是数据 你可以直接在vm中使用 不需要前面传回来
不知道我的理解对不对

希望牛人给解答下  呵呵
[解决办法]
http://www.silverlightchina.net/html/tips/2010/1219/4257.html
参考
[解决办法]

引用:
如何在viewmodel中获得我的参数e

什么“viewmode”?具体到你的代码是指那一条代码?

不要被什么asp.net mvc给可怜地套住了思维。前端编程就是基于表现层入手的,不是什么controller、view入手的。
[解决办法]
前端编程就是基于表现层入手的  -->  前端编程就是基于一体化的表现层入手的

表现层本身是分模块的,这里强调所谓的分层之前,应该首先考虑分层是否“有害”。注意合理地细化你的问题。
[解决办法]
如果必须要sender和e那就不能使用InvokeCommandAction,用CallMethodAction,其中MethodName直接写方法名,不用绑定

热点排行