Example #1
0
        protected override void OnEvent(EventArgs eventArgs)
        {
            if (this.Command == null)
            {
                return;
            }

            CommandActionExParameter param = new CommandActionExParameter();

            param.Parameter1 = CommandParameter1;
            param.Parameter2 = CommandParameter2;
            param.Parameter3 = CommandParameter3;

            if (PassEventArgsToCommand)
            {
                param.EventArgs = eventArgs;
            }
            if (PassEventSenderToCommand)
            {
                param.EventSender = this.Source;
            }
            if (PassRoutEventArgsToCommand)
            {
                param.RoutedEventArgs = eventArgs as RoutedEventArgs;
            }

            if (this.Command.CanExecute(param))
            {
                this.Command.Execute(param);
            }
        }
Example #2
0
        protected override void Invoke(object parameter)
        {
            if (this.Command == null)
            {
                return;
            }

            CommandActionExParameter param = new CommandActionExParameter();

            param.Parameter1 = CommandParameter1;
            param.Parameter2 = CommandParameter2;
            param.Parameter3 = CommandParameter3;
            if (PassEventSenderToCommand)
            {
                param.EventSender = this.AssociatedObject;
            }
            if (PassEventArgsToCommand)
            {
                param.EventArgs = parameter as EventArgs;
            }

            if (PassRoutEventArgsToCommand)
            {
                param.RoutedEventArgs = parameter as RoutedEventArgs;
            }

            if (this.Command.CanExecute(param))
            {
                this.Command.Execute(param);
            }
        }
Example #3
0
        private void Command_CanExecuteChanged(object sender, EventArgs e)
        {
            UIElement element = this.Source as UIElement;

            if (element != null)
            {
                CommandActionExParameter param = new CommandActionExParameter();
                param.Parameter1 = CommandParameter1;
                param.Parameter2 = CommandParameter2;
                param.Parameter3 = CommandParameter3;

                element.IsEnabled = this.Command.CanExecute(param);
            }
        }
Example #4
0
        protected override void OnAttached()
        {
            base.OnAttached();

            if (this.Command != null)
            {
                UIElement element = this.Source as UIElement;
                if (element != null)
                {
                    CommandActionExParameter param = new CommandActionExParameter();
                    param.Parameter1 = CommandParameter1;
                    param.Parameter2 = CommandParameter2;
                    param.Parameter3 = CommandParameter3;

                    element.IsEnabled = this.Command.CanExecute(param);
                    this.Command.CanExecuteChanged += Command_CanExecuteChanged;
                }
            }
        }
Example #5
0
        private static void CommandParameter3ChangedCallback(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            var invokeCommand = d as EventToCommandEx;

            if (invokeCommand != null)
            {
                invokeCommand.SetValue(CommandParameter3Property, e.NewValue);
            }


            UIElement element = invokeCommand.Source as UIElement;

            if (element != null)
            {
                CommandActionExParameter param = new CommandActionExParameter();
                param.Parameter1 = invokeCommand.CommandParameter1;
                param.Parameter2 = invokeCommand.CommandParameter2;
                param.Parameter3 = invokeCommand.CommandParameter3;

                element.IsEnabled = invokeCommand.Command.CanExecute(param);
            }
        }