2012-02-16 16 views
3

私はドロップターゲットとして機能する必要があるListViewを持っています。私は次のトリガーを追加しましたMVVMインタラクションドロップトリガー

<i:Interaction.Triggers> 
    <i:EventTrigger EventName="Drop"> 
     <i:InvokeCommandAction Command="{Binding ItemsDroppedCommand}" 
      CommandParameter="{Binding ???}"/> 
    </i:EventTrigger> 
</i:Interaction.Triggers> 

問題は、落としたアイテムを取得する方法を知っていません。 CommandParameterバインディングには何が必要ですか?

私がコードの中でドロップハンドラを実行すると、ドロップされたファイルを取得できるDragEventArgsパラメータが取得されます。これを得る方法はありますか?

これは間違ったアプローチであれば選択肢

答えて

3

は、箱から出してサポートされていませんが、a workaroundを通じてを実現することができる結合を介してコマンドにイベントの引数を渡すを提案すること自由に感じなさい。しかし、私はまさにこのシナリオを可能にする、MVVM Lightで利用可能EventToCommand動作を使用することをお勧めいたしますでしょう

<i:Interaction.Triggers> 
    <i:EventTrigger EventName="Drop"> 
     <cmd:EventToCommand Command="{Binding ItemsDroppedCommand}" 
          PassEventArgsToCommand="True" /> 
    </i:EventTrigger> 
</i:Interaction.Triggers> 
+1

ありがとうございました。調査中私はこの[リンク](http://weblogs.asp.net/alexeyzakharov/archive/2010/03/24/silverlight-commands-hacks-passing-eventcomms-as-commandparameter-to-delegatecommand-triggered- (Alexey + Zakharovs +ブログ)) – John

+0

@John Glad私は助けることができます:) –