DependencyObject.CoerceValue(DependencyProperty) DependencyObject.CoerceValue(DependencyProperty) DependencyObject.CoerceValue(DependencyProperty) DependencyObject.CoerceValue(DependencyProperty) Method

Definizione

Assegna forzatamente il valore della proprietà di dipendenza specificata.Coerces the value of the specified dependency property. Questa operazione viene eseguita richiamando qualsiasi funzione CoerceValueCallback specificata nei metadati della proprietà di dipendenza esistente nell'oggetto DependencyObject chiamante.This is accomplished by invoking any CoerceValueCallback function specified in property metadata for the dependency property as it exists on the calling DependencyObject.

public:
 void CoerceValue(System::Windows::DependencyProperty ^ dp);
public void CoerceValue (System.Windows.DependencyProperty dp);
member this.CoerceValue : System.Windows.DependencyProperty -> unit
Public Sub CoerceValue (dp As DependencyProperty)

Parametri

dp
DependencyProperty DependencyProperty DependencyProperty DependencyProperty

Identificatore della proprietà di dipendenza da assegnare forzatamente.The identifier for the dependency property to coerce.

Eccezioni

Il parametro dp specificato o il relativo valore non è valido o non esiste.The specified dp or its value were invalid or do not exist.

Esempi

Nell'esempio seguente viene CoerceValue chiamato all' PropertyChangedCallback interno di un'implementazione di utilizzata PropertyChangedCallback come per una proprietà di dipendenza diversa nella stessa classe.The following example calls CoerceValue within a PropertyChangedCallback implementation that is used as the PropertyChangedCallback for a different dependency properties on the same class. Si tratta di un modello comune per l'introduzione delle dipendenze di valore reale tra le proprietà di dipendenza.This is a common pattern for introducing true value dependencies between dependency properties.

private static void OnCurrentReadingChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
{
  d.CoerceValue(MinReadingProperty);
  d.CoerceValue(MaxReadingProperty);
}
Private Shared Sub OnCurrentReadingChanged(ByVal d As DependencyObject, ByVal e As DependencyPropertyChangedEventArgs)
    d.CoerceValue(MinReadingProperty)
    d.CoerceValue(MaxReadingProperty)
End Sub

Commenti

Oltre a essere richiamato in modo esplicito CoerceValuetramite la CoerceValueCallback chiamata a, il per una proprietà di dipendenza viene richiamato internamente ogni volta che il valore della WPFWPF proprietà di dipendenza viene valutato nuovamente dal sistema di proprietà.In addition to being explicitly invoked through calling CoerceValue, the CoerceValueCallback for a dependency property is also invoked internally whenever the dependency property value is being re-evaluated by the WPFWPF property system.

Quando si richiama il CoerceValue metodo, si richiama infine il callback del valore di coercizione per la proprietà specificata.When you invoke the CoerceValue method, you are ultimately invoking the coerce value callback for the property that you specify. In genere viene richiamato CoerceValue solo se si è certi che esista un callback di valori con coercizione e se si conoscono i criteri di callback per la coercizione.Typically you will invoke CoerceValue only if you know that a coerce value callback exists, and if you know the callback's criteria for coercion.

Lo scenario più comune per la CoerceValue chiamata è nell'ambito della gestione delle classi o dei callback di modifica delle proprietà delle proprietà correlate che influenzano i valori degli altri in modo dipendente.The most common scenario for calling CoerceValue is within class handling or property change callbacks of related properties that influence each other's values in a dependent way. Per altre informazioni, vedere Callback e convalida delle proprietà di dipendenza.For more information, see Dependency Property Callbacks and Validation.

Si applica a

Vedi anche