从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
串