ValidateValueCallback Delegera

Definition

Representerar en metod som används som motringning som verifierar det effektiva värdet för en beroendeegenskap.

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 

Parametrar

value
Object

Värdet som ska verifieras.

Returvärde

true om värdet har verifierats. false om det skickade värdet var ogiltigt.

Exempel

I följande exempel ingår en implementering av återanropet för att verifiera ett värdeintervall för en anpassad beroendeegenskap. I det här fallet förväntar sig egenskapsvärdet en uppräkning, och valideringen säkerställer att det angivna värdet utvärderas till en medlem i den uppräkningen.

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

Kommentarer

Återanrop baserade på det här ombudet används av vissa signaturer av DependencyProperty.Register och relaterade metoder, till exempel RegisterAttached och skrivskyddade motsvarigheter. Du bör använda signaturer som tar parametern validateValueCallback om du vill ha specifik validering av egenskapsvärdet varje gång som dess effektiva värde anges. Du bör sedan implementera återanropet så att det utför den faktiska valideringen av det föreslagna värdet. Återanropet ska returneras true om värdet som skickas till återanropet är giltigt och false i annat fall. Ett false värde skapar ett undantag i den specifika delen av egenskapssystemet där den ogiltiga egenskapsuppsättningen försöktes, så ditt program bör vara redo att hantera dessa undantag.

Valideringsåteranrop lagras på beroendeegenskapsidentifierare i stället för metadata för beroendeegenskap. Verifieringsåteranropet har inte åtkomst till en specifik instans av en DependencyObject som egenskapen har angetts för och kan bara påverka vilka värden som accepteras för egenskapen i allmänhet. Om du behöver ett återanrop som kan ändra egenskapsvärden baserat på en viss instans bör du använda en kombination av en CoerceValueCallback och PropertyChangedCallback återanrop som tillämpas på egenskapens metadata för egenskapen. Du kan också använda dessa återanrop till relaterade egenskaper som ska påverka egenskapens värde. Mer information finns i Återanrop och validering av beroendeegenskap.

Tilläggsmetoder

Name Description
GetMethodInfo(Delegate)

Hämtar ett objekt som representerar den metod som representeras av det angivna ombudet.

Gäller för

Se även