ValidateValueCallback Delegato

Definizione

Rappresenta un metodo utilizzato come callback che convalida il valore effettivo di una proprietà di dipendenza.

public delegate bool ValidateValueCallback(object value);

Parametri

value
Object

Valore da convalidare.

Valore restituito

true se il valore è stato convalidato. false se il valore inviato non è valido.

Esempio

L'esempio seguente include un'implementazione di questo callback per convalidare un intervallo di valori per una proprietà di dipendenza personalizzata. In questo caso il valore della proprietà prevede un'enumerazione e la convalida garantisce che il valore fornito restituisca un membro dell'enumerazione.

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);
}

Commenti

I callback basati su questo delegato vengono usati da determinate firme di DependencyProperty.Register metodi correlati, ad esempio RegisterAttached e equivalenti di sola lettura. È consigliabile usare firme che accettano il validateValueCallback parametro se si desidera una convalida specifica del valore della proprietà ogni volta che viene impostata l'effettiva. È quindi necessario implementare questo callback in modo che esegua la convalida effettiva del valore proposto. Il callback deve restituire true se il valore inviato al callback è valido e false in caso contrario. Un false valore genererà un'eccezione nella parte specifica del sistema di proprietà in cui è stato tentato il set di proprietà non valido, quindi l'applicazione deve essere preparata per gestire queste eccezioni.

I callback di convalida vengono archiviati in identificatori di proprietà di dipendenza, anziché metadati delle proprietà di dipendenza. Il callback di convalida non ha accesso a un'istanza specifica di un DependencyObject oggetto in cui è impostata la proprietà e può influire solo sui valori accettati per la proprietà in generale. Se è necessario un callback in grado di modificare i valori delle proprietà in base a un'istanza specifica, è consigliabile usare una combinazione di callback CoerceValueCallback e PropertyChangedCallback come applicato ai metadati della proprietà. È anche possibile applicare questi callback alle proprietà correlate che devono influenzare il valore della proprietà. Per informazioni dettagliate, vedere Callback e convalida delle proprietà di dipendenza.

Metodi di estensione

GetMethodInfo(Delegate)

Ottiene un oggetto che rappresenta il metodo rappresentato dal delegato specificato.

Si applica a

Prodotto Versioni
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

Vedi anche