如何在MVVM Light v5中使用invokationCommandAction?

时间:2014-10-20 14:39:05

标签: mvvm mvvm-light

我有一个目标是.NET 4.5.1的项目。我安装了MVVM Light nuget,经理安装了MVVM Light的第5版。

在这个版本中我不能使用EventToCommand,我必须使用incovationCommandAction,所以我需要在标题中添加我的axml这个代码:

xmlns:interactivity="using:Microsoft.Xaml.Interactivity"
xmlns:core="using:Microsoft.Xaml.Interactions.Core"

和此代码将命令添加到我的控件:

<interactivity:Interaction.Behaviors>
            <core:EventTriggerBehavior EventName="PointerPressed">
                <core:InvokeCommandAction 
                    Command="{Binding ShowPositionCommand, Mode=OneWay}"
                    InputConverter="{StaticResource MouseButtonEventArgsToPointConverter}"
                    InputConverterParameter="{Binding ElementName=LayoutRoot}" />
            </core:EventTriggerBehavior>
        </interactivity:Interaction.Behaviors>

但是,我收到一个错误,说明核心:在Microsoft.Xaml.Interactions.Core中没有EventTriggerBehavior。

问题是什么?我得到它的例子from this link

是否可以在目标为4.5.1的项目中使用MVVM Light v4.3?

感谢。

1 个答案:

答案 0 :(得分:1)

对于事件触发器我使用以下代码 - 请告诉我这是否有助于您解决问题。 (这是使用MVVM Light版本5,面向.NET 4.5)

xmlns:j="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"


<j:Interaction.Triggers>
        <j:EventTrigger EventName="PreviewKeyDown">
            <cmd:EventToCommand Command="{Binding SomeCommand}"> 
            </cmd:EventToCommand>
        </j:EventTrigger>
</j:Interaction.Triggers>