Catel.MVVM.CommandManager.RegisterAction C# (CSharp) Method

RegisterAction() public method

Registers the action with the specified command name.
The is null or whitespace. The is null. The specified command is not created using the method.
public RegisterAction ( string commandName, System.Action action ) : void
commandName string Name of the command.
action System.Action The action.
return void
        public void RegisterAction(string commandName, Action action)
        {
            Argument.IsNotNullOrWhitespace("commandName", commandName);
            Argument.IsNotNull("action", action);

            if (CatelEnvironment.IsInDesignMode)
            {
                return;
            }

            lock (_lockObject)
            {
                Log.Debug("Registering action to '{0}'", commandName);

                if (!_commands.ContainsKey(commandName))
                {
                    throw Log.ErrorAndCreateException<InvalidOperationException>("Command '{0}' is not yet created using the CreateCommand method", commandName);
                }

                _commands[commandName].RegisterAction(action);

                InvalidateCommands();
            }
        }

Same methods

CommandManager::RegisterAction ( string commandName, Action action ) : void

Usage Example

            public void RegisteredActionsCanBeUnregistered_DynamicAction()
            {
                var commandManager = new CommandManager();

                commandManager.CreateCommand("TestAction");

                commandManager.RegisterAction("TestAction", RegisteredActionsCanBeUnregistered_TestMethod);
                commandManager.UnregisterAction("TestAction", RegisteredActionsCanBeUnregistered_TestMethod);

                commandManager.ExecuteCommand("TestAction");

                Assert.IsFalse(_registeredActionsCanBeUnregistered_TestValue);
            }
All Usage Examples Of Catel.MVVM.CommandManager::RegisterAction