DependencyProperty.IsValidValue(Object) Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
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.
public:
bool IsValidValue(System::Object ^ value);
public bool IsValidValue (object value);
member this.IsValidValue : obj -> bool
Public Function IsValidValue (value As Object) As Boolean
Parameters
- value
- Object
The value to check.
Returns
true
if the value is acceptable and is of the correct type or a derived type; otherwise, false
.
Examples
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
Remarks
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.
This method calls IsValidType internally. If the dependency property in question has no ValidateValueCallback,then calling this method is effectively equivalent to calling IsValidType. 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.
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. 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.