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

示例

以下示例在调用SetValue依赖属性之前使用 IsValidValue 作为检查。

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,并且如果 IsValidType 返回 , true则返回的值将作为回调中实现的值。

null 值是引用类型依赖属性或 Nullable<T> 依赖属性的有效值,对于这些情况,将返回 true 。 如果依赖属性既不是引用也不是 Nullable<T> 类型, IsValidType 则将返回 false null 值,而不是引发异常。

适用于