DependencyProperty.IsValidValue(Object) Метод

Определение

Определяет, приемлемо ли указанное значение для типа свойства, путем базовой проверки типа, а также, находится ли оно потенциально в пределах разрешенного диапазона значений для данного типа.

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

Параметры

value
Object

Проверяемое значение.

Возвращаемое значение

true, если значение приемлемо и принадлежит к надлежащему или производному типу; в противном случае — false.

Примеры

В следующем примере используется IsValidValue в качестве проверки перед вызовом SetValue свойства зависимостей.

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

Комментарии

Для свойства зависимостей допустимый диапазон значений для этого типа можно указать с помощью ValidateValueCallback , указанного в регистрации свойства зависимостей.

Этот метод вызывает внутренние вызовы IsValidType . Если рассматриваемое свойство зависимости не ValidateValueCallbackимеет , вызов этого метода фактически эквивалентен вызову IsValidType. Если свойство зависимостей имеет ValidateValueCallback, а если IsValidTypetrueвозвращает , то возвращаемое значение будет таким, как реализовано в обратном вызове.

Значение NULL является допустимым значением для свойств зависимостей ссылочного типа или свойства Nullable<T> зависимостей и возвращается true в таких случаях. В случаях, когда свойство зависимостей не является ни ссылкой, ни типомNullable<T>, возвращает false значение NULL, IsValidType а не создает исключение.

Применяется к