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.

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.

Valor Retornado

Boolean

true se o valor foi validado; false se o valor enviado era inválido.

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

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

Os retornos de chamada com base nesse delegado são usados por determinadas assinaturas e DependencyProperty.Register métodos relacionados, como RegisterAttached e equivalentes somente leitura. Você deve usar assinaturas que usam o validateValueCallback parâmetro se quiser uma validação específica do valor da propriedade sempre que sua eficácia for definida. Em seguida, você deve implementar esse retorno de chamada para que ele execute a validação real do valor proposto. O retorno de chamada deve retornar true se o valor enviado para o retorno de chamada for válido e false , caso contrário. Um false valor produzirá uma exceção na parte específica do sistema de propriedades em que o conjunto de propriedades inválido foi tentado, portanto, seu aplicativo deve estar preparado para lidar com essas exceções.

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. O retorno de chamada de validação não tem acesso a uma instância específica de uma DependencyObject em que a propriedade está definida e só pode influenciar quais valores são aceitos para a propriedade em geral. Se você precisar de um retorno de chamada que possa alterar valores de propriedade com base em uma instância específica, deverá usar uma combinação de um CoerceValueCallback e PropertyChangedCallback retornos de chamada, conforme aplicado aos metadados de propriedade de sua propriedade. Você também pode aplicar esses retornos de chamada a propriedades relacionadas que devem influenciar o valor da sua propriedade. Para obter detalhes, consulte Os retornos de chamada e a validação da propriedade de dependência.

Métodos de Extensão

GetMethodInfo(Delegate)

Obtém um objeto que representa o método representado pelo delegado especificado.

Aplica-se a

Confira também