示例#1
0
        static void OnButtonBaseClick(object sender, RoutedEventArgs e)
        {
            ButtonBase btn       = sender as ButtonBase;
            ICommand   cmd       = ButtonBaseExtensions.GetCommand(btn);
            object     parameter = ButtonBaseExtensions.GetCommandParameter(btn);

            if (cmd != null && cmd.CanExecute(parameter))
            {
                cmd.Execute(parameter);
            }
        }
示例#2
0
        static void OnCommandParameterChanged(DependencyObject obj, DependencyPropertyChangedEventArgs e)
        {
            ButtonBase btn = obj as ButtonBase;

            if (btn == null)
            {
                throw new ArgumentException("You must set the CommandParameter attached property on an element that derives from ButtonBase.");
            }

            ICommand cmd = ButtonBaseExtensions.GetCommand(btn);

            if (cmd == null)
            {
                return;
            }

            object parameter = ButtonBaseExtensions.GetCommandParameter(btn);

            btn.IsEnabled = cmd.CanExecute(parameter);
        }