Является ли DelegateCommand тем же, что и «Присоединенное поведение»? - PullRequest
3 голосов
/ 29 мая 2009

Я использовал DelegateCommand , найденный в шаблоне MVVM Visual Studio в CodePlex. Это прекрасно работает , так как Views может выполнять команды в своей ViewModel.

Я где-то читал, что в MVVM следует использовать " присоединенное поведение ". Насколько я могу судить, «прикрепленное поведение» - это тот же тип шаблона, что и DelegateCommand, но он используется Silverlight , поскольку у него нет команд.

Это правильно ? Или «привязанное поведение» является чем-то другим в своем роде и заслуживает изучения в дополнение к DelegateCommand?

1 Ответ

6 голосов
/ 29 мая 2009

DelegateCommand (или RelayCommand, который почти такой же, но принимает параметр) - это просто упрощенная реализация интерфейса ICommand, которая позволяет ViewModel легко представлять команды.

Прикрепленное поведение - это способ связать событие с командой. Например, большинство элементов управления WPF не имеют свойства Command, поэтому вы не можете определить команду, реагирующую на их события. С помощью прикрепленного поведения вы можете «привязать» любое событие любого элемента управления к команде вашей ViewModel. Взгляните на реализацию Марлона Греча , которая кажется мне наиболее гибкой

...