ValidateValueCallback Delegat
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Reprezentuje metodę używaną jako wywołanie zwrotne, która weryfikuje efektywną wartość właściwości zależności.
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
Wartość, która ma zostać zweryfikowana.
Wartość zwracana
true
jeśli wartość została zweryfikowana; false
jeśli przesłana wartość była nieprawidłowa.
Przykłady
Poniższy przykład zawiera implementację tego wywołania zwrotnego w celu zweryfikowania zakresu wartości dla niestandardowej właściwości zależności. W takim przypadku wartość właściwości oczekuje wyliczenia, a walidacja zapewnia, że podana wartość daje w wyniku element członkowski tego wyliczenia.
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
Uwagi
Wywołania zwrotne oparte na tym delegacie są używane przez niektóre podpisy i powiązane metody, takie jak RegisterAttached i odpowiedniki DependencyProperty.Register tylko do odczytu. Należy użyć podpisów, które przyjmują parametr , validateValueCallback
jeśli chcesz, aby określona walidacja wartości właściwości za każdym razem, gdy jest ustawiona jego skuteczność. Następnie należy zaimplementować to wywołanie zwrotne, tak aby przeprowadzało rzeczywistą walidację proponowanej wartości. Wywołanie zwrotne powinno zostać zwrócone true
, jeśli wartość przesłana do wywołania zwrotnego jest prawidłowa i false
w inny sposób. Wartość false
spowoduje wygenerowanie wyjątku w określonej części systemu właściwości, w której podjęto próbę nieprawidłowego zestawu właściwości, więc aplikacja powinna być przygotowana do obsługi tych wyjątków.
Wywołania zwrotne weryfikacji są przechowywane na identyfikatorach właściwości zależności, a nie metadanych właściwości zależności. Wywołanie zwrotne weryfikacji nie ma dostępu do określonego DependencyObject wystąpienia obiektu, na którym jest ustawiona właściwość, i może wpływać tylko na to, jakie wartości są akceptowane dla właściwości ogólnie. Jeśli potrzebujesz wywołania zwrotnego, które może zmienić wartości właściwości na podstawie określonego wystąpienia, należy użyć kombinacji CoerceValueCallback wywołań zwrotnych i PropertyChangedCallback zastosowanych do metadanych właściwości właściwości. Te wywołania zwrotne można również zastosować do powiązanych właściwości, które powinny mieć wpływ na wartość właściwości. Aby uzyskać szczegółowe informacje, zobacz Wywołania zwrotne właściwości zależności i walidacja.
Metody rozszerzania
GetMethodInfo(Delegate) |
Pobiera obiekt reprezentujący metodę reprezentowaną przez określonego delegata. |