I am not able to use EventToCommand in my Windows Phone 8.1 App.
xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
xmlns:cmd="clr-namespace:GalaSoft.MvvmLight.Command;assembly=GalaSoft.MvvmLight.Extras.WP8"
I tried it also with assembly=GalaSoft.MvvmLight.Extras.WP81...
<controls:PivotItem Name="pivotItem">
<i:Interaction.Triggers>
<i:EventTrigger EventName="SelectionChanged">
<cmd:EventToCommand Command="{Binding SelectServiceCommand}"
CommandParameter="{Binding SelectedIndex, ElementName=pivotItem}"/>
</i:EventTrigger>
<!-- other stuff -->
</i:Interaction.Triggers>
I get the following erros:
Can someone help me please?
Are you aiming at Silverlight, or WinRT (Universal Apps) kind of Windows Phone 8.1?
If you have chosen the second option, then in this blog post MVVM Light author explains the lack of support for EventToCommand - basically in WinRT there's already a mechanism similiar to the EventToCommand - Behaviours.
Windows Phone 8.1
Windows 8.1 Behavior SDK: How to use InvokeAction with InputConverter to pass arguments to a Command
Microsoft has developed it's own EventToCommand functionality. It's located in Behaviors SDK. Someone on stackoverflow told to get this SDK via Nuget. If you can't find the package in NuGet - get it in Add reference dialog
.
(My "Add reference" dialog may differ from original because of Productivity Power Tools
extension)
Here is example of simple usage:
<ListBox ItemsSource="{Binding Persons, Mode=OneWay}"
SelectedItem="{Binding SelectedPerson, Mode=TwoWay}">
<interactivity:Interaction.Behaviors>
<core:EventTriggerBehavior EventName="SelectionChanged">
<core:InvokeCommandAction Command="{Binding DisplayPersonCommand}" />
</core:EventTriggerBehavior>
</interactivity:Interaction.Behaviors>
</ListBox>
When upgrading my WP8.0 app to use MVVMLight 5.0+ disabled the EventToCommand behavior, my search for a solution brought me to this blog post that provided source code for implementing a Custom Command Action that will pass the event args as the parameter. Implementing the code returned my app to working order!!
Hopes this helps you out :D
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With