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); }