예제 #1
0
        /// <summary>
        /// Выполнение команды
        /// </summary>
        /// <param name="param">The param.</param>
        public virtual void DoExecute(object param = null)
        {
            //  Вызывает выполнении команды с возможностью отмены
            CancelCommandEventArgs args =
                new CancelCommandEventArgs()
            {
                Parameter = param, Cancel = false
            };

            InvokeExecuting(args);

            //  Если событие было отменено -  останавливаем.
            if (args.Cancel)
            {
                return;
            }

            //  Вызываем действие с / без параметров, в зависимости от того. Какое было устанвленно.
            InvokeAction(param);

            //  Call the executed function.
            InvokeExecuted(new CommandEventArgs()
            {
                Parameter = param
            });
        }
예제 #2
0
 protected void InvokeExecuting(CancelCommandEventArgs args)
 {
     //  Call the executed event.
     ThreadManager.Instance.InvokeUI((arg) =>
     {
         Executing?.Invoke(this, arg);
     },
                                     args);
 }