Validation.Error Evento adjunto
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Se produce cuando se ejecuta el elemento enlazado a un error de validación, pero solo para los enlaces que tienen el valor NotifyOnValidationError establecido en true
.
see AddErrorHandler, and RemoveErrorHandler
see AddErrorHandler, and RemoveErrorHandler
see AddErrorHandler, and RemoveErrorHandler
Comentarios
El modelo de enlace de datos de WPF permite asociarlo ValidationRules con el Binding objeto . La validación se produce durante la transferencia de valores de origen de destino a enlace antes de llamar al convertidor. A continuación se describe el proceso de validación:
Cuando se transfiere un valor de la propiedad de destino a la propiedad de origen, el motor de enlace de datos quita primero cualquiera ValidationError que se pueda haber agregado a la Validation.Errors propiedad adjunta del elemento enlazado. A continuación, comprueba si hay alguna personalizada ValidationRuledefinida para ese Binding, en cuyo caso llama al Validate método en cada una de las ValidationRules hasta que se produzca un error o hasta que se pasen todos ellos.
Una vez que hay una regla personalizada que no se pasa, el motor de enlace crea un ValidationError objeto y lo agrega a la Validation.Errors colección del elemento enlazado. Cuando Validation.Errors no está vacío, propiedad adjunta Validation.HasError del elemento se establece en
true
. Además, si la propiedad NotifyOnValidationError de Binding está establecida entrue
, el motor de enlace genera el evento adjunto Validation.Error en el elemento.Si se pasan todas las reglas, el motor de enlace llama al convertidor, si existe alguno.
Si el convertidor pasa, el motor de enlace llama al establecedor de la propiedad de origen.
Si el enlace tiene asociado y ExceptionValidationRule se produce una excepción durante el paso 4, el motor de enlace comprueba si hay un UpdateSourceExceptionFilter. Tiene la opción de usar la devolución de llamada de UpdateSourceExceptionFilter para proporcionar un controlador personalizado para controlar excepciones. Si no se especifica UpdateSourceExceptionFilter en Binding, el motor de enlace crea ValidationError con la excepción y lo agrega a la colección Validation.Errors del elemento enlazado.
Tenga en cuenta también que una transferencia de valor válida en cualquier dirección (de destino a origen o de origen a destino) borra .ValidationErrorspropiedad adjunta.
Para obtener más información, vea "Validación de datos" en Introducción al enlace de datos.
Información sobre eventos enrutados
Campo identificador | ErrorEvent |
Estrategia de enrutamiento | Burbujeante |
Delegado | EventHandler<TEventArgs>, restringido por ValidationErrorEventArgs |