private void ValidarSomenteDigito(object sender, ValidacaoEventArgs e) { //verifica o caractere e retorna boleano var ehValido = e.Texto.All(char.IsDigit); e.EhValido = ehValido; }
protected virtual void OnValidacao() { //evita erro de validacao antes dos campos serem populados if (_validacao != null) { //guarda todos os delegates do tipo EventHandler var listaValidacao = _validacao.GetInvocationList(); //constroi o argumento da validacao var eventArgs = new ValidacaoEventArgs(Text); var ehValido = true; //loop entre todas as validacoes foreach (ValidacaoEventHandler validacao in listaValidacao) { //chama o eventArgs validacao(this, eventArgs); //se uma das validações retorna falso if (!eventArgs.EhValido) { ehValido = false; break; } ; } if (ehValido) { Background = new SolidColorBrush(Colors.White); } else { Background = new SolidColorBrush(Colors.Orange); } } }
//utilizacao //txtNome.TextChanged += ConstruirDelegateValidacaoCampoNulo(txtNome); //private TextChangedEventHandler ConstruirDelegateValidacaoCampoNulo(TextBox txt) //{ // //usando expressão lambda para o retorno // return (o, e) => // { // var textoEstaVazio = String.IsNullOrEmpty(txtNome.Text); // if (textoEstaVazio) // txtNome.Background = new SolidColorBrush(Colors.OrangeRed); // else // txtNome.Background = new SolidColorBrush(Colors.White); // }; //} #endregion //metodo que retorna um delegate private void ValidarCampoNulo(object sender, ValidacaoEventArgs e) { var ehValido = !String.IsNullOrEmpty(e.Texto); e.EhValido = ehValido; }