在mvvmlight for Windows 8中缺少EventToCommand行为 - 解决?

时间:2012-08-18 17:09:44

标签: c# windows-8 mvvm-light winrt-xaml

问题说得非常:)

我正在使用MVVM Light在XAML / C#中编写Windows 8应用程序,我注意到EventToCommand功能尚未实现。

对于任何人都可以提出建议,是否有任何解决方法?

谢谢!

3 个答案:

答案 0 :(得分:14)

现在,您可以使用Behaviors SDK (XAML) for Visual Studio 2013完成EventToCommand所做的事情,而无需使用其他工具,(@ locoJoost' s WinRTBehaviors现在已经弃用,因为它帮助了我们所有人) :

enter image description here

使用它的一个例子如下:

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

引用交互性和核心的地方:

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

答案 1 :(得分:4)

查看LocalJoost使用Reactive Extensions编写的EventToCommand行为: http://dotnetbyexample.blogspot.be/2012/07/a-winrt-behavior-to-mimic-eventtocommand.html

答案 2 :(得分:2)

我刚刚发了一篇关于这个问题的博文,请看我的参赛作品。

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

使用来自@localJoost的WinRTBehaviors和Win8nl