A command whose sole purpose is to relay its functionality to other objects by invoking delegates. The default return value for the CanExecute method is 'true'. RaiseCanExecuteChanged needs to be called whenever CanExecute is expected to return a different value.
Inheritance: ICommand
        public CreateCurrencyViewModel()
        {
            SaveCurrencyCommand = new RelayCommand(SaveCurrency);
            CancelCurrencyCommand = new RelayCommand(CancelCurrency);

            ValidationErrors = new ValidationErrors();
        }
        public CreateCategoryViewModel()
        {
            SaveCategoryCommand = new RelayCommand(SaveCategory);
            CancelCategoryCommand = new RelayCommand(CancelCategory);

            ValidationErrors = new ValidationErrors();
        }
        public CreateUserViewModel()
        {
            SaveUserCommand = new RelayCommand(SaveUser);
            CancelUserCommand = new RelayCommand(CancelUser);

            ValidationErrors = new ValidationErrors();
        }
        // View model constructor
        public CalculatorViewModel()
        {
            navigationData = new Dictionary<string, object>();
            Expression = Expression.Clear();

            // Initialize commands
            AcceptCommand = new RelayCommand(Accept);
            CancelCommand = new RelayCommand(Cancel);
            SetToZeroCommand = new RelayCommand(SetToZero);
            DeleteCommand = new RelayCommand(Delete);
            DivideCommand = new RelayCommand(Divide);
            MultiplyCommand = new RelayCommand(Multiply);
            Number7Command = new RelayCommand(Number7);
            Number8Command = new RelayCommand(Number8);
            Number9Command = new RelayCommand(Number9);
            SubtractCommand = new RelayCommand(Subtract);
            Number4Command = new RelayCommand(Number4);
            Number5Command = new RelayCommand(Number5);
            Number6Command = new RelayCommand(Number6);
            AddCommand = new RelayCommand(Add);
            Number1Command = new RelayCommand(Number1);
            Number2Command = new RelayCommand(Number2);
            Number3Command = new RelayCommand(Number3);
            Number0Command = new RelayCommand(Number0);
            DotCommand = new RelayCommand(Dot);
            EquelCommand = new RelayCommand(Equel);
        }
        public MoneyBoxViewModel()
        {
            navigationData = new Dictionary<string, object>();
            _selectedPivotItemInit = false;

            EditMoneyBoxCommand = new RelayCommand(EditMoneyBox);
            AddIncomeCommand = new RelayCommand(AddIncome);
            AddExpenceCommand = new RelayCommand(AddExpence);
            DeleteAllTransactionsCommand = new RelayCommand(DeleteAllTransactions);
        }
        public CreateTransactionViewModel()
        {
            navigationData = new Dictionary<string, object>();

            ValidationErrors = new ValidationErrors();

            // Initialize commands
            SaveTransactionCommand = new RelayCommand(SaveTransaction);
            CancelTransactionCommand = new RelayCommand(CancelTransaction);
            CalculatorCommand = new RelayCommand(Calculator);
        }