В .NET Framework такого класса нет, но вы можете посмотреть, как класс CompositeCommand реализован в Prism.
Из документов :
Поддерживает список дочерних команд (DelegateCommand
экземпляров). Метод Execute
класса CompositeCommand
просто вызывает метод Execute
для каждой дочерней команды по очереди. Метод CanExecute
аналогичным образом вызывает метод CanExecute
каждой дочерней команды, но если ни одна из дочерних команд не может быть выполнена, метод CanExecute
вернет false
. Другими словами, по умолчанию CompositeCommand
может выполняться только тогда, когда могут быть выполнены все дочерние команды.
Вы связываете дочерние команды, используя метод RegisterCommand
класса CompositeCommand
:
public DelegateCommand UpdateCommand { get; private set; }
public ViewModel()
{
UpdateCommand = new DelegateCommand(Update);
ApplicationCommands.SaveCommand.RegisterCommand(UpdateCommand);
}