ValidateValueCallback Delegato
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
- value
- Object
Valore da convalidare.
true
se il valore è stato convalidato. false
se il valore inviato non è valido.
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
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.
Get |
Ottiene un oggetto che rappresenta il metodo rappresentato dal delegato specificato. |
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 |
Feedback su .NET
.NET è un progetto di open source. Selezionare un collegamento per fornire feedback: