DependencyProperty.IsValidType(Object) Method


Determines whether a specified value is acceptable for this dependency property's type, as checked against the property type provided in the original dependency property registration.

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



The value to check.


true if the specified value is the registered property type or an acceptable derived type; otherwise, false.


The following example uses IsValidType as a check before calling SetValue on the dependency property.

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


A value of null is a valid type for reference type dependency properties, or for a Nullable<T> dependency property, and would return true for these cases. In cases where the dependency property is neither a reference nor a Nullable<T> type, IsValidType will return false for a null value rather than raise an exception.

Applies to