从View到ViewModel的WPF事件绑定?

什么是将View中的WPF事件绑定到ViewModel的最佳方法?

我在我的视图中有一个drop事件,但我想将它替换为ViewModel到期绑定。 找到了几个解决方案,但没有一个做到我所预期的。

查看代码:

 

处理MVVM和XAML中的事件的一种方法是使用Blend Interactivityfunction。 此命名空间包含InvokeCommandAction和CallMethodAction类。

InvokeCommandAction允许您将任何事件绑定到view-model命令,而CallMethodAction允许您将任何事件绑定到视图模型方法。

例如,如果要将Button的DoubleClick事件绑定到视图模型命令,您可以这样做:

  

并声明此命名空间:

 xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity" 

您在项目中引用它所需的只是安装Expression Blend或Expression Blend SDK。

一种方法是将该事件转换为命令,然后将其绑定到presenter命令,即通过定义事件行为。

看到这个, WPF事件绑定到ViewModel(对于非Command类)

  

命令

{eb:EventBinding}(查找命令的简单命名模式)

{eb:EventBinding Command = CommandName}

CommandParameter

$ e(EventAgrs)

$ this或$ this.Property

https://github.com/JonghoL/EventBindingMarkup