ValidateValueCallback Delegát

Definice

Představuje metodu použitou jako zpětné volání, která ověřuje efektivní hodnotu vlastnosti závislosti.

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 

Parametry

value
Object

Hodnota, která se má ověřit.

Návratová hodnota

true pokud byla hodnota ověřena; false pokud byla odeslaná hodnota neplatná.

Příklady

Následující příklad obsahuje implementaci tohoto zpětného volání k ověření rozsahu hodnot pro vlastní závislost vlastnost. V tomto případě hodnota vlastnosti očekává výčet a ověření zajistí, že zadaná hodnota se vyhodnotí jako člen tohoto výčtu.

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

Poznámky

Zpětná volání založená na tomto delegátu se používají určitými podpisy a souvisejícími metodami, jako DependencyProperty.Register jsou ekvivalenty RegisterAttached jen pro čtení. Podpisy, které přebírají validateValueCallback parametr, byste měli použít, pokud chcete konkrétní ověření hodnoty vlastnosti pokaždé, když je nastavena jeho účinnost. Pak byste toto zpětné volání měli implementovat tak, aby prováděl skutečné ověření navrhované hodnoty. Zpětné volání by se mělo vrátit true , pokud je hodnota odeslaná do zpětného volání platná a false jinak. Hodnota false vytvoří výjimku v konkrétní části systému vlastností, kde došlo k pokusu o neplatnou sadu vlastností, takže aplikace by měla být připravená na zpracování těchto výjimek.

Zpětná volání ověřování se ukládají na identifikátory vlastností závislostí místo metadat vlastností závislostí. Zpětné volání ověření nemá přístup ke konkrétní instanci DependencyObject , pro kterou je vlastnost nastavena, a může ovlivnit pouze to, jaké hodnoty jsou pro vlastnost obecně přijímány. Pokud potřebujete zpětné volání, které může změnit hodnoty vlastností na základě konkrétní instance, měli byste použít kombinaci CoerceValueCallback zpětného volání a PropertyChangedCallback použít ji pro metadata vlastnosti vlastnosti. Tyto zpětná volání můžete také použít u souvisejících vlastností, které by měly ovlivnit hodnotu vlastnosti. Podrobnosti najdete v tématu Zpětné volání vlastností závislostí a ověření.

Metody rozšíření

Name Description
GetMethodInfo(Delegate)

Získá objekt, který představuje metodu reprezentovanou zadaným delegátem.

Platí pro

Viz také