1using System.Windows.Input;
5 internal static class CommandElement
7 public static void OnCommandChanging(BindableObject bo,
object o,
object _)
9 ICommandElement CommandElement = (ICommandElement)bo;
11 if (o is ICommand OldCommand)
12 OldCommand.CanExecuteChanged -= CommandElement.CanExecuteChanged;
15 public static void OnCommandChanged(BindableObject bo,
object _,
object n)
17 ICommandElement CommandElement = (ICommandElement)bo;
19 if (n is ICommand NewCommand)
20 NewCommand.CanExecuteChanged += CommandElement.CanExecuteChanged;
22 CommandElement.CanExecuteChanged(bo, EventArgs.Empty);
25 public static void OnCommandParameterChanged(BindableObject bo,
object _,
object __)
27 ICommandElement CommandElement = (ICommandElement)bo;
29 CommandElement.CanExecuteChanged(bo, EventArgs.Empty);
32 public static bool GetCanExecute(ICommandElement CommandElement)
34 if (CommandElement.Command ==
null)
37 return CommandElement.Command.CanExecute(CommandElement.CommandParameter);