/// <summary>Создаёт экземпляр команды для методов без параметра.</summary> /// <param name="executeHandler">Делегат метода исполняющего команду.</param> /// <param name="canExecuteHandler">Делегат метода проверяющего состояние команды.</param> /// <param name="dispatcher">Диспетчер. Не может быть <see langword="null"/>.</param> public RelayCommand(ExecuteCommandHandler executeHandler, CanExecuteCommandHandler canExecuteHandler, Dispatcher dispatcher) : base(executeHandler, canExecuteHandler) { Dispatcher = dispatcher ?? throw DispatcherNullException; requerySuggested = RaiseCanExecuteChanged; CommandManager.RequerySuggested += requerySuggested; }
/// <summary>Создаёт экземпляр команды для методов без параметра.</summary> /// <param name="executeHandler">Делегат метода исполняющего команду.</param> /// <param name="canExecuteHandler">Делегат метода проверяющего состояние команды.</param> public RelayCommand(Action executeHandler, Func <bool> canExecuteHandler) : this((Type)null) { execute = executeHandler ?? throw ExecuteHandlerNullException; canExecute = canExecuteHandler ?? throw CanExecuteHandlerNullException; executeObject = ExecuteNoParameter; canExecuteObject = CanExecuteNoParameter; }
/// <summary>Создаёт экземпляр команды для методов без параметра.</summary> /// <param name="executeHandler">Делегат метода исполняющего команду.</param> /// <param name="canExecuteHandler">Делегат метода проверяющего состояние команды.</param> /// <remarks><see cref="Dispatcher"/> = <see cref="Application.Current"/>.<see cref="System.Windows.Threading.Dispatcher"/>.</remarks> public RelayCommand(ExecuteCommandHandler executeHandler, CanExecuteCommandHandler canExecuteHandler) : this(executeHandler, canExecuteHandler, Application.Current.Dispatcher) { }
/// <summary>Создаёт экземпляр команды для методов object параметром.</summary> /// <param name="executeHandler">Делегат метода исполняющего команду.</param> /// <param name="canExecuteHandler">Делегат метода проверяющего состояние команды.</param> public RelayCommand(ExecuteCommandHandler executeHandler, CanExecuteCommandHandler canExecuteHandler) : this(typeof(object)) { executeObject = executeHandler ?? throw ExecuteHandlerNullException; canExecuteObject = canExecuteHandler ?? throw CanExecuteHandlerNullException; }