按钮样式中的EventToCommand

时间:2011-02-03 06:34:51

标签: wpf triggers mvvm-light

我想为我的用户控件上的所有按钮分配相同的命令。我使用MVVM Light,我尝试了所有组合。我也尝试使用EventSetter,但这不允许绑定到ViewModel中的命令

以下是我想要做的一个示例:
<Style x:Key="CalculatorButton" TargetType="telerik:RadButton"> <Setter Property="Margin" Value="2"/> <Setter Property="Cursor" Value="Hand"/> <Style.Triggers> <i:EventTrigger EventName="Click"> <cmd:EventToCommand Command="{Binding ButtonClick}"/> </i:EventTrigger> </Style.Triggers> </Style>

设计时错误:“EventTrigger”类型的值无法添加到“TriggerCollection”类型的集合或字典中。

运行时错误:值“System.Windows.Interactivity.EventTrigger \”的类型不是“System.Windows.TriggerBase”,并且不能在此通用集合中使用

1 个答案:

答案 0 :(得分:1)

不幸的是,i:EventTriggerEventTrigger不同。前者是System.Windows.Interactivity的一部分,后者是WPF的核心部分。由于EventToCommand使用System.Windows.Interactivity,因此您必须使用与Style.Triggers不同的机制才能在样式中使用它。您可以使用我在StackOverflow答案中描述的技术: