Compartir a través de


Validation.Error Evento adjunto

Definición

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:

  1. 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.

  2. 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 en true, el motor de enlace genera el evento adjunto Validation.Error en el elemento.

  3. Si se pasan todas las reglas, el motor de enlace llama al convertidor, si existe alguno.

  4. Si el convertidor pasa, el motor de enlace llama al establecedor de la propiedad de origen.

  5. 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

Se aplica a