我有一个ListView,需要将其用作放置目标。我添加了以下触发器

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

问题是尽管我不知道如何获取掉落的物品。 CommandParameter绑定(bind)中应该包含什么内容?

如果我在后面的代码中执行了放置处理程序,则会得到一个DragEventArgs参数,该参数使我能够删除文件。有办法吗?

如果这是错误的方法,请随时提出替代方案

最佳答案

开箱即用不支持通过绑定(bind)将事件的参数传递给Command,但可以通过a workaround实现。

但是,我建议您使用EventToCommand中可用的MVVM Light行为,它可以完全启用这种情况:

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

10-08 09:08