Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
            });
        }