ValidateValueCallback Delegado

Definición

Representa un método utilizado como devolución de llamada que valida el valor efectivo de una propiedad de dependencia.

public delegate bool ValidateValueCallback(System::Object ^ value);
public delegate bool ValidateValueCallback(object value);
type ValidateValueCallback = delegate of obj -> bool
Public Delegate Function ValidateValueCallback(value As Object) As Boolean 

Parámetros

value
Object

Valor que se va a validar.

Valor devuelto

Boolean

Es true si se validó el valor; es false si el valor enviado no era válido.

Ejemplos

En el ejemplo siguiente se incluye una implementación de esta devolución de llamada para validar un intervalo de valores para una propiedad de dependencia personalizada. En este caso, el valor de propiedad espera una enumeración y la validación garantiza que el valor proporcionado se evalúa como un miembro de esa enumeración.

private static bool ShirtValidateCallback(object value)
{
    ShirtTypes sh = (ShirtTypes) value;
    return (sh==ShirtTypes.None || sh == ShirtTypes.Bowling || sh == ShirtTypes.Dress || sh == ShirtTypes.Rugby || sh == ShirtTypes.Tee);
}
Private Shared Function ShirtValidateCallback(ByVal value As Object) As Boolean
    Dim sh As ShirtTypes = CType(value, ShirtTypes)
    Return (sh=ShirtTypes.None OrElse sh = ShirtTypes.Bowling OrElse sh = ShirtTypes.Dress OrElse sh = ShirtTypes.Rugby OrElse sh = ShirtTypes.Tee)

End Function

Comentarios

Las devoluciones de llamada basadas en este delegado se usan en determinadas firmas de DependencyProperty.Register métodos y relacionados, como RegisterAttached y equivalentes de solo lectura. Debe usar firmas que toman el validateValueCallback parámetro si desea una validación específica del valor de propiedad cada vez que se establece su vigencia. A continuación, debe implementar esta devolución de llamada para que realice la validación real del valor propuesto. La devolución de llamada debe devolverse true si el valor enviado a la devolución de llamada es válido y false , de lo contrario, . Un false valor generará una excepción en la parte específica del sistema de propiedades donde se intentó el conjunto de propiedades no válido, por lo que la aplicación debe estar preparada para controlar estas excepciones.

Las devoluciones de llamada de validación se almacenan en identificadores de propiedad de dependencia, en lugar de en metadatos de propiedad de dependencia. La devolución de llamada de validación no tiene acceso a una instancia específica de en DependencyObject la que se establece la propiedad y solo puede influir en qué valores se aceptan para la propiedad en general. Si necesita una devolución de llamada que pueda cambiar los valores de propiedad en función de una instancia específica, debe usar una combinación de devoluciones CoerceValueCallback de llamada y PropertyChangedCallback según se aplique a los metadatos de propiedad de la propiedad. También puede aplicar estas devoluciones de llamada a propiedades relacionadas que deben influir en el valor de la propiedad. Para más información, consulte Devoluciones de llamada y validación de propiedades de dependencia.

Métodos de extensión

GetMethodInfo(Delegate)

Obtiene un objeto que representa el método representado por el delegado especificado.

Se aplica a

Consulte también