ValidateValueCallback Delegar

Definição

Representa um método usado como um retorno de chamada que valida o valor efetivo de uma propriedade de dependência.Represents a method used as a callback that validates the effective value of a dependency property.

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

O valor a ser validado.The value to be validated.

Valor Retornado

Boolean

true se o valor foi validado; false se o valor enviado era inválido.true if the value was validated; false if the submitted value was invalid.

Herança
ValidateValueCallback

Exemplos

O exemplo a seguir inclui uma implementação desse retorno de chamada para validar um intervalo de valores para uma propriedade de dependência personalizada.The following example includes an implementation of this callback to validate a range of values for a custom dependency property. Nesse caso, o valor da propriedade espera uma enumeração e a validação garante que o valor fornecido seja avaliado como um membro dessa enumeração.In this case the property value expects an enumeration, and the validation assures that the provided value evaluates to a member of that enumeration.

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

Comentários

DependencyProperty.Register OsRegisterAttached retornos de chamada com base nesse delegado são usados por determinadas assinaturas de e métodos relacionados, como equivalentes somente leitura.Callbacks based on this delegate are used by certain signatures of DependencyProperty.Register and related methods, such as RegisterAttached and read-only equivalents. Você deve usar assinaturas que tomam o validateValueCallback parâmetro se desejar uma validação específica do valor da propriedade sempre que seu efetivo for definido.You should use signatures that take the validateValueCallback parameter if you want specific validation of the property value each time that its effective is set. Em seguida, você deve implementar esse retorno de chamada, de forma que ele execute a validação real do valor proposto.You should then implement this callback such that it performs the actual validation of the proposed value. O retorno de chamada true deve retornar se o valor enviado para o retorno de chamada false for válido e, caso contrário.The callback should return true if the value submitted to the callback is valid, and false otherwise. Um false valor produzirá uma exceção na parte específica do sistema de propriedades em que foi feita a tentativa do conjunto de propriedades inválido, de modo que seu aplicativo deve estar preparado para lidar com essas exceções.A false value will produce an exception in the specific portion of the property system where the invalid property set was attempted, so your application should be prepared to handle these exceptions.

Os retornos de chamada de validação são armazenados em identificadores de propriedade de dependência, em vez de metadados de propriedade de dependência.Validation callbacks are stored on dependency property identifiers, rather than dependency property metadata. O retorno de chamada de validação não tem acesso a uma instância específica DependencyObject de a na qual a propriedade está definida e só pode influenciar quais valores são aceitos para a propriedade em geral.Your validation callback does not have access to a specific instance of a DependencyObject on which the property is set, and can only influence what values are accepted for the property in general. Se você precisar de um retorno de chamada que possa alterar valores de propriedade com base em uma instância específica, use uma CoerceValueCallback combinação PropertyChangedCallback de um e de retornos de chamada conforme aplicado aos metadados de propriedade de sua propriedade.If you need a callback that can change property values based on a specific instance, you should use a combination of a CoerceValueCallback and PropertyChangedCallback callbacks as applied to the property metadata of your property. Você também pode aplicar esses retornos de chamada a propriedades relacionadas que devem influenciar o valor da propriedade.You might also apply these callbacks to related properties that should influence your property's value. Para obter detalhes, consulte retornos de chamada de propriedade de dependência e validação.For details, see Dependency Property Callbacks and Validation.

Métodos de Extensão

GetMethodInfo(Delegate)

Obtém um objeto que representa o método representado pelo delegado especificado.Gets an object that represents the method represented by the specified delegate.

Aplica-se a

Veja também