如何在xaml中引用drageventArgs作为silverlight的命令参数

时间:2010-05-12 11:48:15

标签: mvvm drag-and-drop silverlight-4.0

在我的silverlight 4应用程序上,我试图将列表框上的放置事件链接到我的viewmodel。我正在使用表达式blend 4的事件触发器和invokecommandaction来挂接drop事件。在我的viewmodel上设置断点,我可以看到当我将文件拖到列表框时触发了相关的函数,但是我似乎无法访问drageventArgs。我尝试将整个列表框作为命令参数发送,但这不起作用。

有什么想法吗?

由于

1 个答案:

答案 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>