Я считаю, что это неправильно.
Переправляя события в CommandManager, вы получаете следующее поведение
Это гарантирует, что командование WPF
инфраструктура запрашивает все RelayCommand
объекты, если они могут выполняться всякий раз, когда
он запрашивает встроенные команды.
Однако, что происходит, когда вы хотите сообщить всем элементам управления, связанным с одной командой, для переоценки статуса CanExecute? В его реализации вы должны перейти к CommandManager, что означает
Каждая привязка каждой команды в вашем приложении переоценивается
Это включает в себя все те, которые не имеют значения для множества компонентов, те, у которых при оценке CanExecute есть побочные эффекты (такие как доступ к базе данных или долго выполняющиеся задачи), те, которые ожидают сбора ... Это как используя кувалду, чтобы забить гвоздь.
Вы должны серьезно подумать о последствиях этого.