Элементы управления WPF, поддерживающие команды, позволяют декларативно подключать элемент управления к команде. Эти элементы управления будут вызывать указанную команду, когда пользователь взаимодействует с элементом управления определенным образом. Например, для элемента управления Button
команда будет вызываться, когда пользователь нажимает кнопку. Это событие, связанное с командой, является фиксированным и не может быть изменено.
Поведения также позволяют декларативно подключать элемент управления к команде. Однако поведения могут быть связаны с диапазоном событий, вызванных элементом управления, и их можно использовать для условного вызова связанного объекта команды или метода команды в модели представления. Другими словами, поведение может затрагивать многие из тех же сценариев, что и элементы управления с поддержкой команд, и они могут обеспечивать большую степень гибкости и контроля.
Вам нужно будет выбрать, когда использовать элементы управления с поддержкой команд, а когда использовать поведение, а также какой тип поведения использовать. Если вы предпочитаете использовать один механизм, чтобы связать элементы управления в представлении с функциональными возможностями в модели представления или для согласованности, вы можете рассмотреть возможность использования поведений, даже для элементов управления, которые по своей сути поддерживают команды.
Если вам нужно использовать только элементы управления с поддержкой команд для вызова команд в модели представления, и если вас устраивают события по умолчанию для вызова команды, поведение может не потребоваться. Аналогично, если ваши разработчики или дизайнеры пользовательского интерфейса не будут использовать Blend для Visual Studio 2013, вы можете предпочесть элементы управления с поддержкой команд (или пользовательские присоединенные поведения) из-за дополнительного синтаксиса, необходимого для поведения Blend.
Для меня это единственное лучшее изложение различий между поведением и командами.