DependencyProperty.IsValidValue(Object) DependencyProperty.IsValidValue(Object) DependencyProperty.IsValidValue(Object) DependencyProperty.IsValidValue(Object) Method


指定した値がプロパティの型で受け入れ可能かどうかを基本型チェックによって判断します。さらに、その型の有効値の範囲内にこの値があるかどうかを判断することもあります。Determines whether the provided value is accepted for the type of property through basic type checking, and also potentially if it is within the allowed range of values for that type.

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


Object Object Object Object

チェックする値。The value to check.


値が受け入れ可能で、適切な型または派生型である場合は true。それ以外の場合は falsetrue if the value is acceptable and is of the correct type or a derived type; otherwise, false.

次の例でIsValidValueは、依存関係プロパティSetValueでを呼び出す前に、をチェックとして使用します。The following example uses IsValidValue as a check before calling SetValue on the dependency property.

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使用して、その型の許容範囲の値を指定できます。For a dependency property, an allowed range of values for that type can be specified through a ValidateValueCallback that is provided in the dependency property registration.

このメソッドはIsValidType 、を内部で呼び出します。This method calls IsValidType internally. 問題の依存関係プロパティにがないValidateValueCallback場合、このメソッドを呼び出すことは、 IsValidType実際にはを呼び出した場合と同じです。If the dependency property in question has no ValidateValueCallback,then calling this method is effectively equivalent to calling IsValidType. 依存関係プロパティにがありValidateValueCallback IsValidType 、がを返しtrueた場合、返される値はコールバックに実装されます。If the dependency property does have a ValidateValueCallback, and if IsValidType would have returned true, then the value returned will be as implemented in the callback.

Null 値は参照型の依存関係プロパティ、またはNullable<T>依存関係プロパティの有効な値であり、このような場合にはを返しtrueます。A null value is a valid value for reference type dependency properties, or for a Nullable<T> dependency property, and would return true for these cases. 依存関係プロパティが参照Nullable<T>でも型でもない場合、は例外を発生させるのではなく、 IsValidType null 値に対してを返しfalseます。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.