Командная команда делегирования и маршрутизация

В чем разница между командой делегата и командой маршрутизации?

Я прочитал статью, в которой говорится, что вместо команды маршрутизации используется команда делегирования на MVVM.

Итак, каковы преимущества команды делегирования команды над маршрутизируемой командой при использовании MVVM?

Ответ 1

Некоторые преимущества использования DelegateCommand (a.k.a. RelayCommand) заключаются в следующем:

1) Требуется меньше XAML/кода для их поддержки (не требуется CommandBindings)

2) Код реализации команды можно легко записать в классах ViewModel

3) Они не принимают зависимость от дерева элементов пользовательского интерфейса для правильной работы, что также помогает повысить производительность

Поскольку многие сторонние элементы управления пользовательским интерфейсом используют маршрутизированные команды, большинство разработчиков заканчивают использование маршрутизируемых команд, принимая зависимость от этих элементов управления.

Если вам нужно использовать маршрутизируемые команды, ознакомьтесь со статьей Использование RoutedCommands с ViewModel в WPF, чтобы увидеть способ упрощения.