private bool IsInputValid() { ProfileNameTextBox.GetBindingExpression(TextBox.TextProperty).UpdateSource(); PasswordTextBox.GetBindingExpression(PasswordHelper.PasswordProperty).UpdateSource(); PasswordRepeatTextBox.GetBindingExpression(PasswordHelper.PasswordProperty).UpdateSource(); bool valid = true; if (Validation.GetErrors(ProfileNameTextBox).Count != 0) { valid &= false; } if (Validation.GetErrors(PasswordTextBox).Count != 0) { valid &= false; } if (Validation.GetErrors(PasswordRepeatTextBox).Count != 0) { valid &= false; } return(valid); }
public RegisterView(RegisterViewModel viewModel) { InitializeComponent(); ViewModel = viewModel; this.WhenActivated(disposableRegistration => { this.WhenAnyValue(v => v.UserNameTextBox.Text) .BindTo(ViewModel, vm => vm.UserName) .DisposeWith(disposableRegistration); Observable.FromEventPattern(PasswordTextBox, nameof(PasswordTextBox.PasswordChanged)) .Select(ep => PasswordTextBox.Password) .BindTo(ViewModel, vm => vm.Password) .DisposeWith(disposableRegistration); Observable.FromEventPattern(PasswordRepeatTextBox, nameof(PasswordRepeatTextBox.PasswordChanged)) .Select(ep => PasswordRepeatTextBox.Password) .BindTo(ViewModel, vm => vm.PasswordRepeat) .DisposeWith(disposableRegistration); this.WhenAnyValue(v => v.NameTextBox.Text) .BindTo(ViewModel, vm => vm.Name) .DisposeWith(disposableRegistration); this.WhenAnyValue(v => v.NationalIdentificationNumberTextBox.Text) .BindTo(ViewModel, vm => vm.NationalIdentificationNumber) .DisposeWith(disposableRegistration); this.BindCommand(ViewModel, vm => vm.RegisterCommand, v => v.RegisterButton) .DisposeWith(disposableRegistration); ViewModel.Registered.RegisterHandler(interactioni => { interactioni.SetOutput(Unit.Default); UserNameTextBox.Clear(); PasswordTextBox.Clear(); PasswordRepeatTextBox.Clear(); NameTextBox.Clear(); NationalIdentificationNumberTextBox.Clear(); ParentView.Navigate(ParentView.AccountInfoSideMenu.Name); }).DisposeWith(disposableRegistration); }); }