ValidateValueCallback Delegát
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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. |