【问题标题】:MVVM interaction drop triggerMVVM 交互丢弃触发器
【发布时间】:2012-03-07 15:40:46
【问题描述】:

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

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

问题是虽然我不知道如何获得掉落的物品。 CommandParameter 绑定应该包含哪些内容?

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

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

【问题讨论】:

    标签: wpf mvvm


    【解决方案1】:

    现成不支持通过绑定将事件的参数传递给命令,但可以通过a workaround 实现。

    但是,我建议您使用 MVVM Light 中提供的 EventToCommand 行为,这正是这种情况:

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

    【讨论】:

    • 谢谢。在调查时我还发现了这个link
    【解决方案2】:

    请看一下这个帖子MVVM Passing EventArgs As Command Parameter

    在此线程中将帮助您解决问题。 我希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 2019-04-05
      • 2022-08-19
      • 2017-11-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多