В чем разница между командой WPF и событием в WPF?
Я просто гуглил разницу между командой WPF и событием в WPF. я приземлился на следующей странице stackoverflow, где идет обсуждение.
В чем разница между командой WPF и событием?
Я могу понять только следующее оттуда
- команды могут быть записаны на бизнес-уровне, в то время как событие только в презентации
- одна команда может быть связана со многими элементами управления, но событие может быть связано только с только один контроль.
Я прав? Есть ли между ними еще какая-то разница?
2 ответа:
Вы правы, но только отчасти.
- главная проблема там заключается в том, что события не вписываются хорошо вписывается в парадигму
MVVM
. Просто говоря, что события вряд ли могут быть подключаемы, вы не можете привязаться к обработчику событий. Тем не менее, нет никаких ограничений для использования команд в уровне представления, но нет никаких преимуществ от этого. Так же, как вы могли бы поймать свой элемент управления в BLL и прикрепить к нему обработчик событий, но этот случай еще хуже.- Нет. Обработчики событий также могут быть связаны с различные элементы управления, как пока тип args события совпадает.
Также команды дают вам некоторые бесплатные преимущества. Например, использование элемента command будет отключено, если
CanExecute()
возвращает false. Еще одно преимущество заключается в том, что использование команд заставляет вас следовать принципу разделения забот .