我想为我的用户控件上的所有按钮分配相同的命令。我使用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”,并且不能在此通用集合中使用
答案 0 :(得分:1)
不幸的是,i:EventTrigger
与EventTrigger
不同。前者是System.Windows.Interactivity
的一部分,后者是WPF的核心部分。由于EventToCommand
使用System.Windows.Interactivity
,因此您必须使用与Style.Triggers
不同的机制才能在样式中使用它。您可以使用我在StackOverflow答案中描述的技术: