public NewItemsViewModel()
        {
            //NB: You could do validation with this default reactive ui method, OR Use a better way
            //this.ValidationRule(vm => vm.ItemDescription, desc => !string.IsNullOrEmpty(desc), "Description should not be empty");
            ItemDescription = new ValidatableObject <string>();
            ItemDescription.Validations.Add(new IsNotNullOrEmptyRule("Description should not be empty"));
            ItemTitle = new ValidatableObject <string>();
            ItemTitle.Validations.Add(new IsNotNullOrEmptyRule("Title should not be empty"));

            //Create an observable stating if we can save this item or not.
            var canSaveObservable = this.WhenAnyValue(vm => vm.ItemDescription.Value, vm => vm.ItemTitle.Value, (desc, title) =>
            {
                return(ItemDescription.TryValidate(desc) && ItemTitle.TryValidate(title));
            });

            CancelCommand = ReactiveCommand.Create(OnCancelCommand);
            SaveCommand   = ReactiveCommand.Create(OnSave, canSaveObservable);
        }