Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Missing EventToCommand behaviour in mvvmlight for Windows 8 - Work Around?

Question says it all really :)

I'm writing a Windows 8 app in XAML/C# using MVVM Light and I've noticed the EventToCommand feature hasn't been implemented yet.

Are there any work arounds for this that anybody can suggest?

thanks!

like image 748
lookitskris Avatar asked Aug 18 '12 17:08

lookitskris


3 Answers

You can now accomplish what EventToCommand used to do using the Behaviors SDK (XAML) for Visual Studio 2013, without using other tools, (@localJoost 's WinRTBehaviors is deprecated now after it helped all of us those times) :

enter image description here

An example of its use would be as follows :

<Slider x:Name="Sl_VolumeSilder">
        <Interactivity:Interaction.Behaviors>
            <Core:EventTriggerBehavior EventName="ValueChanged">
                <Core:InvokeCommandAction Command="{Binding OnSliderValueChangedCommand}" CommandParameter="{Binding ElementName=Sl_VolumeSilder, Path=Value}"/>
            </Core:EventTriggerBehavior>
        </Interactivity:Interaction.Behaviors>
</Slider>

Where Interactivity and Core are referenced :

xmlns:Interactivity="using:Microsoft.Xaml.Interactivity"
xmlns:Core="using:Microsoft.Xaml.Interactions.Core"
like image 162
AymenDaoudi Avatar answered Nov 03 '22 01:11

AymenDaoudi


Check out the EventToCommand behavior written by LocalJoost which uses Reactive Extensions: http://dotnetbyexample.blogspot.be/2012/07/a-winrt-behavior-to-mimic-eventtocommand.html

like image 43
Bart Avatar answered Nov 03 '22 01:11

Bart


I just did a blog post on that exact issue see my entry here.

http://blog.tattoocoder.com/2012/08/getting-started-w-windows-8-mvvm-light.html

Uses WinRTBehaviors and Win8nl from @localJoost

like image 40
Shayne Boyer Avatar answered Nov 02 '22 23:11

Shayne Boyer