예제 #1
0
 /// <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;
 }
예제 #2
0
        /// <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;
        }
예제 #3
0
 /// <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)
 {
 }
예제 #4
0
 /// <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;
 }