如何将按钮的Hold / DoubleTap事件绑定到ViewModel中的属性

时间:2012-07-05 09:58:31

标签: c# silverlight windows-phone-7 xaml

我有一个包含按钮的视图。我想对保持事件执行操作。我怎么能在mvvm中这样做?对于点击事件,我可以将其绑定到Command属性。是否有可能以同样的方式做到这一点?

2 个答案:

答案 0 :(得分:0)

不确定它是否支持该命令,否则您可以使用MVVM Light Toolkit(自由和开源)行为:EventToCommand

答案 1 :(得分:0)

我会选择Braulio的答案 - MVVM Light是我会使用的,但是回到Silverlight 3天后我使用自定义附加属性来实现这一点。有关自定义附加属性的示例,请参阅此处:http://umairsaeed.com/2010/04/22/custom-attached-properties-in-silverlight/

你可以为hold事件创建一个自定义附加属性来绑定命令,然后像这样使用它:

<Border local:MyTextBoxControl.HoldEventCommand="{Binding HoldCommand}"/>

与在项目中包含mvvm light工具包然后执行此操作相比,这是一项很多工作:

<i:Interaction.Triggers>
    <i:EventTrigger EventName="Hold">
        <GalaSoft_MvvmLight_Command:EventToCommand Command="{Binding YourCommand}"/>
    </i:EventTrigger>
</i:Interaction.Triggers>