ValidateValueCallback Delegato
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Rappresenta un metodo utilizzato come callback che convalida il valore effettivo di una proprietà di dipendenza.
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
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);
}
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
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. |