Всем доброго времени суток!
Пытаюсь разобраться с реализацией паттерна MVVM с использованием библиотек от GalaSoft. Застопорился на EventToCommand. Как я прочитал в этой теме данная конструкция используется для реализации обработчиков различных событий контролов через команды. Для проверки написал команду, которая выводит сообщение на экран:
public ICommand SelectGroup
{
get
{
return new RelayCommand<Object>(ExecuteSelectTagGroupCommand);
}
}
public void ExecuteSelectTagGroupCommand(object parameter)
{
System.Windows.MessageBox.Show("fdfd");
}
Вызов данной команды я сделал для события MouseDown текстбокса и для события Closing окна приложения.
<i:Interaction.Triggers>
<i:EventTrigger EventName="Closing">
<cmd:EventToCommand Command="{Binding SelectGroup}"/>
</i:EventTrigger>
</i:Interaction.Triggers>
<TextBlock Text="{Binding Name}" MouseDown="TextBlock_MouseDown">
<i:Interaction.Triggers>
<i:EventTrigger EventName="MouseDown">
<cmd:EventToCommand Command="{Binding SelectGroup}" CommandParameter="{Binding}"/>
</i:EventTrigger>
</i:Interaction.Triggers>
</TextBlock>
Однако работает только команда для окна. Причем если подписаться на событие MouseDown для текстбокса, то все работает нормально. В чем может быть причина?
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости