在我的silverlight 4应用程序上,我试图将列表框上的放置事件链接到我的viewmodel。我正在使用表达式blend 4的事件触发器和invokecommandaction来挂接drop事件。在我的viewmodel上设置断点,我可以看到当我将文件拖到列表框时触发了相关的函数,但是我似乎无法访问drageventArgs。我尝试将整个列表框作为命令参数发送,但这不起作用。
有什么想法吗?
由于
答案 0 :(得分:1)
目前我正在考虑这个问题。经过一番研究后,我发现了http://www.silverlightshow.net/news/Silverlight-Commands-Hacks-Passing-EventArgs-as-CommandParameter-to-DelegateCommand-triggered-by-EventTrigger-.aspx
所以在此期间我决定使用MVVM Light的EventToCommand类,它类似于InvokeCommandAction,但允许您将事件args作为命令参数传递。 (http://www.galasoft.ch/mvvm/getstarted/)
- 似乎工作正常
<i:Interaction.Triggers>
<i:EventTrigger EventName="Drop">
<infra:EventToCommand PassEventArgsToCommand="True"
Command="{Binding Path=LinkOrderCommand}" />
</i:EventTrigger>
</i:Interaction.Triggers>