DependencyProperty.IsValidValue(Object) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
确定所提供的值通过基本类型检查后是否被属性类型接受,以及它是否有可能在该类型的值的允许范围以内。
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 值,而不是引发异常。