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í 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. |