ValidateValueCallback Delegado
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í.
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
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. |