Udostępnij za pośrednictwem


DependencyProperty.IsValidValue(Object) Metoda

Definicja

Określa, czy podana wartość jest akceptowana dla typu właściwości za pomocą podstawowego sprawdzania typów, a także potencjalnie, jeśli znajduje się w dozwolonym zakresie wartości dla tego typu.

public:
 bool IsValidValue(System::Object ^ value);
public bool IsValidValue (object value);
member this.IsValidValue : obj -> bool
Public Function IsValidValue (value As Object) As Boolean

Parametry

value
Object

Wartość do sprawdzenia.

Zwraca

true jeśli wartość jest akceptowalna i jest prawidłowym typem lub typem pochodnym; w przeciwnym razie , false.

Przykłady

W poniższym przykładzie użyto IsValidValue metody jako sprawdzenia przed wywołaniem SetValue właściwości zależności.

void TrySetValueWithValidate(DependencyObject target, DependencyProperty dp, object providedValue)
{
  if (dp.IsValidValue(providedValue))
  {
    target.SetValue(dp, providedValue);
  }
}
Private Sub TrySetValueWithValidate(ByVal target As DependencyObject, ByVal dp As DependencyProperty, ByVal providedValue As Object)
  If dp.IsValidValue(providedValue) Then
    target.SetValue(dp, providedValue)
  End If
End Sub

Uwagi

W przypadku właściwości zależności dozwolony zakres wartości tego typu można określić za pomocą elementu ValidateValueCallback , który jest podany w rejestracji właściwości zależności.

Ta metoda wywołuje IsValidType wewnętrznie. Jeśli właściwość zależności, o którym mowa, nie ValidateValueCallbackma , wywołanie tej metody jest skutecznie równoważne wywołaniu metody IsValidType. Jeśli właściwość zależności ma ValidateValueCallbackwartość , a jeśli IsValidType zostanie zwrócona truewartość , zwracana wartość będzie miała wartość zaimplementowaną w wywołaniu zwrotnym.

Wartość null jest prawidłową wartością właściwości zależności typu odwołania lub Nullable<T> właściwości zależności i zwróci true wartość dla tych przypadków. W przypadkach, gdy właściwość zależności nie jest odwołaniem ani typemNullable<T>, zwróci false wartość null, IsValidType a nie zgłosi wyjątek.

Dotyczy