2014-10-20 2 views
0

У меня есть проект, целью которого является .NET 4.5.1. Я устанавливаю MVVM Light nuget, а менеджер устанавливает версию 5 MVVM Light.Как использовать invokationCommandAction с MVVM Light v5?

В этой версии я не могу использовать 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> 

Однако я получаю сообщение об ошибке, что сказать ядро: EventTriggerBehavior не доступен в Microsoft.Xaml.Interactions.Core.

В чем проблема? пример я получаю from this link

Возможно ли использовать MVVM Light v4.3 в проекте, целью которого является 4.5.1?

Спасибо.

+0

Это для окон 8.1? – aggietech

ответ

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>