DependencyProperty.IsValidValue(Object) Metodo

Definizione

Determina se il valore fornito è accettato per il tipo di proprietà tramite il controllo del tipo di base e anche, potenzialmente, se è all'interno dell'intervallo consentito dei valori per quel 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

Parametri

value
Object

Valore da controllare.

Restituisce

true se il valore è accettabile ed è del tipo corretto o di un tipo derivato; in caso contrario, false.

Esempio

Nell'esempio seguente viene usato IsValidValue come controllo prima di chiamare SetValue sulla proprietà di dipendenza.

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

Commenti

Per una proprietà di dipendenza, è possibile specificare un intervallo di valori consentito per tale tipo tramite un ValidateValueCallback oggetto fornito nella registrazione della proprietà di dipendenza.

Questo metodo chiama IsValidType internamente. Se la proprietà di dipendenza in questione non ha , ValidateValueCallbackla chiamata a questo metodo equivale effettivamente alla chiamata IsValidTypedi . Se la proprietà di dipendenza dispone di un ValidateValueCallbacke se IsValidType avrebbe restituito true, il valore restituito sarà implementato nel callback.

Un valore Null è un valore valido per le proprietà di dipendenza del tipo di riferimento o per una Nullable<T> proprietà di dipendenza e restituirà true per questi casi. Nei casi in cui la proprietà di dipendenza non è né un riferimento né un Nullable<T> tipo, IsValidType restituirà false per un valore Null anziché generare un'eccezione.

Si applica a