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

Boolean

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í vlastnost závislostí. V tomto případě hodnota vlastnosti očekává výčet a ověření zajišťuje, ž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í na základě tohoto delegáta se používají určitými podpisy a souvisejícími metodami, jako jsou a RegisterAttached ekvivalenty DependencyProperty.Register 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 měli implementovat tuto zpětné volání tak, aby prováděla skutečné ověření navrhované hodnoty. Zpětné volání by mělo vrátit true , pokud je hodnota odeslaná do zpětného volání platná a false jinak. false Hodnota vytvoří výjimku v konkrétní části systému vlastností, kde se pokusila o neplatnou sadu vlastností, takže vaš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í, nikoli na metadatech vlastností závislostí. Zpětné volání ověření nemá přístup ke konkrétní instanci DependencyObject , na které je vlastnost nastavena, a může ovlivnit pouze hodnoty, které jsou pro vlastnost obecně přijaty. 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 zpětného volání a PropertyChangedCallback zpětná CoerceValueCallback volání použitá na metadata vlastností vaší vlastnosti. Tyto zpětné volání můžete použít také 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í

GetMethodInfo(Delegate)

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

Platí pro

Viz také