Лучшее решение, которое я знаю о нас, чтобы использовать услугу.Например, ICommandBindingsProvider, такой как:
public interface ICommandBindingsProvider
{
CommandBindingCollection CommandBindings { get; }
}
Это внедряется в вашу ViewModel и используется следующим образом:
public MyViewModel(ICommandBindingsProvider commandBindings)
{
commandBindings.Add(new CommandBinding(....));
}
То, как сервис вводится, будет зависеть от того, какую среду MVVM выИспользуешь.Большинство (но не все) поддерживают какие-то возможности внедрения сервисов.Если вам нужен более конкретный пример кода, посмотрите на Onyx , который выполняет внедрение службы и имеет службу, которая делает именно это.