ValidateValueCallback Delegat
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Stellt eine Methode dar, die als Rückruf verwendet wird, der den effektiven Wert einer Abhängigkeitseigenschaft überprüft.
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
Parameter
- value
- Object
Der zu überprüfende Wert.
Rückgabewert
true wenn der Wert überprüft wurde; false wenn der übermittelte Wert ungültig war.
Beispiele
Das folgende Beispiel enthält eine Implementierung dieses Rückrufs, um einen Wertebereich für eine benutzerdefinierte Abhängigkeitseigenschaft zu überprüfen. In diesem Fall erwartet der Eigenschaftswert eine Enumeration, und die Überprüfung stellt sicher, dass der bereitgestellte Wert zu einem Element dieser Enumeration ausgewertet wird.
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
Hinweise
Rückrufe, die auf diesem Delegat basieren, werden von bestimmten Signaturen DependencyProperty.Register und verwandten Methoden verwendet, z RegisterAttached . B. schreibgeschützte Entsprechungen. Sie sollten Signaturen verwenden, die den validateValueCallback Parameter übernehmen, wenn Sie bei jeder Festlegung der Gültigkeit des Eigenschaftswerts eine bestimmte Überprüfung des Eigenschaftswerts wünschen. Anschließend sollten Sie diesen Rückruf so implementieren, dass er die tatsächliche Überprüfung des vorgeschlagenen Werts durchführt. Der Rückruf sollte zurückgegeben werden true , wenn der an den Rückruf übermittelte Wert gültig ist, andernfalls false . Ein false Wert erzeugt eine Ausnahme im spezifischen Teil des Eigenschaftensystems, in dem der ungültige Eigenschaftensatz versucht wurde, sodass Ihre Anwendung darauf vorbereitet sein sollte, diese Ausnahmen zu behandeln.
Überprüfungsrückrufe werden in Abhängigkeitseigenschafts-IDs und nicht in Abhängigkeitseigenschaftsmetadaten gespeichert. Ihr Überprüfungsrückruf hat keinen Zugriff auf eine bestimmte Instanz einer DependencyObject Eigenschaft, für die die Eigenschaft festgelegt ist, und kann nur beeinflussen, welche Werte für die Eigenschaft allgemein akzeptiert werden. Wenn Sie einen Rückruf benötigen, der Eigenschaftswerte basierend auf einer bestimmten Instanz ändern kann, sollten Sie eine Kombination aus einer CoerceValueCallback und PropertyChangedCallback Rückrufen verwenden, die auf die Eigenschaftsmetadaten Ihrer Eigenschaft angewendet werden. Sie können diese Rückrufe auch auf verwandte Eigenschaften anwenden, die den Wert Ihrer Eigenschaft beeinflussen sollten. Ausführliche Informationen finden Sie unter Dependency Property Callbacks and Validation.
Erweiterungsmethoden
| Name | Beschreibung |
|---|---|
| GetMethodInfo(Delegate) |
Ruft ein Objekt ab, das die vom angegebenen Delegaten dargestellte Methode darstellt. |