EventToCommand в стиле кнопки - PullRequest
       12

EventToCommand в стиле кнопки

1 голос
/ 03 февраля 2011

Я хочу назначить одну и ту же команду всем моим кнопкам на моем пользовательском элементе управления.Я использую 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 Ответ

1 голос
/ 03 февраля 2011

К сожалению, i:EventTrigger - это не то же самое, что EventTrigger. Первый является частью System.Windows.Interactivity, а второй является основной частью WPF. Поскольку EventToCommand использует System.Windows.Interactivity, вам придется использовать механизм, отличный от Style.Triggers, чтобы использовать его в стиле. Вы можете использовать мою технику, описанную в этом ответе StackOverflow:

...