ValidateValueCallback ValidateValueCallback ValidateValueCallback ValidateValueCallback Delegate

Definizione

Rappresenta un metodo usato come callback che convalida il valore effettivo di una proprietà di dipendenza.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 

Parametri

value
Object Object Object Object

Valore da convalidare.The value to be validated.

Valore restituito

System.Boolean

true se il valore è stato convalidato, false se il valore inviato non era valido.true if the value was validated; false if the submitted value was invalid.

Ereditarietà
ValidateValueCallbackValidateValueCallbackValidateValueCallbackValidateValueCallback

Esempi

Nell'esempio seguente viene inclusa un'implementazione di questo callback per convalidare un intervallo di valori per una proprietà di dipendenza personalizzata.The following example includes an implementation of this callback to validate a range of values for a custom dependency property. In questo caso, il valore della proprietà prevede un'enumerazione e la convalida garantisce che il valore fornito restituisca un membro dell'enumerazione.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

Commenti

I callback basati su questo delegato vengono usati da determinate firme di DependencyProperty.Register e metodi correlati, RegisterAttached ad esempio e equivalenti di sola lettura.Callbacks based on this delegate are used by certain signatures of DependencyProperty.Register and related methods, such as RegisterAttached and read-only equivalents. È consigliabile utilizzare le firme che accettano validateValueCallback il parametro se si desidera la convalida specifica del valore della proprietà ogni volta che viene impostato l'oggetto effettivo.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. È quindi necessario implementare questo callback in modo che esegua la convalida effettiva del valore proposto.You should then implement this callback such that it performs the actual validation of the proposed value. Il callback deve restituire true se il valore inviato al callback è valido e false in caso contrario.The callback should return true if the value submitted to the callback is valid, and false otherwise. Un false valore produrrà 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 a gestire tali eccezioni.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.

I callback di convalida vengono archiviati negli identificatori delle proprietà di dipendenza, anziché nei metadati della proprietà di dipendenza.Validation callbacks are stored on dependency property identifiers, rather than dependency property metadata. Il callback di convalida non ha accesso a un'istanza specifica di un DependencyObject oggetto su cui è impostata la proprietà e può influenzare solo i valori accettati per la proprietà in generale.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 è necessario un callback che può modificare i valori delle proprietà in base a un'istanza specifica, è necessario usare una CoerceValueCallback combinazione PropertyChangedCallback di e callback come applicato ai metadati della proprietà.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. È anche possibile applicare questi callback a proprietà correlate che devono influenzare il valore della proprietà.You might also apply these callbacks to related properties that should influence your property's value. Per informazioni dettagliate, vedere callback e convalida delle proprietà di dipendenza.For details, see Dependency Property Callbacks and Validation.

Metodi di estensione

GetMethodInfo(Delegate) GetMethodInfo(Delegate) GetMethodInfo(Delegate) GetMethodInfo(Delegate)

Ottiene un oggetto che rappresenta il metodo rappresentato dal delegato specificato.Gets an object that represents the method represented by the specified delegate.

Si applica a

Vedi anche