DependencyProperty.IsValidValue(Object) Método

Definição

Determina se o valor fornecido é aceito para o tipo de propriedade por meio de verificação de tipo básica e também potencialmente se ele está dentro do intervalo permitido de valores para esse tipo.

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

Parâmetros

value
Object

O valor a ser verificado.

Retornos

Boolean

true se o valor é aceitável e é do tipo correto ou um tipo derivado; caso contrário, false.

Exemplos

O exemplo a seguir usa IsValidValue como uma verificação antes de chamar SetValue a propriedade de dependência.

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

Comentários

Para uma propriedade de dependência, um intervalo permitido de valores para esse tipo pode ser especificado por meio de um ValidateValueCallback que é fornecido no registro de propriedade de dependência.

Esse método chama IsValidType internamente. Se a propriedade de dependência em questão não tiver , ValidateValueCallbackchamar esse método será efetivamente equivalente à chamada IsValidType. Se a propriedade de dependência tiver um ValidateValueCallback, e se IsValidType teria retornado true, o valor retornado será como implementado no retorno de chamada.

Um valor nulo é um valor válido para propriedades de dependência de tipo de referência ou para uma Nullable<T> propriedade de dependência e retornaria true para esses casos. Nos casos em que a propriedade de dependência não for uma referência nem um Nullable<T> tipo, IsValidType retornará false para um valor nulo em vez de gerar uma exceção.

Aplica-se a