DependencyObject.CoerceValue(DependencyProperty) Metoda

Definice

Převede hodnotu zadané vlastnosti závislosti.Coerces the value of the specified dependency property. To se provádí vyvoláním jakékoli CoerceValueCallback funkce určené v metadatech vlastnosti pro vlastnost závislosti, protože existuje při volání DependencyObject .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)

Parametry

dp
DependencyProperty

Identifikátor vlastnosti závislosti, která má být převedena.The identifier for the dependency property to coerce.

Výjimky

Zadaná dp nebo jeho hodnota byla neplatná nebo neexistuje.The specified dp or its value were invalid or do not exist.

Příklady

Následující příklad volá CoerceValue v rámci PropertyChangedCallback implementace, která se používá jako PropertyChangedCallback pro jiné vlastnosti závislosti ve stejné třídě.The following example calls CoerceValue within a PropertyChangedCallback implementation that is used as the PropertyChangedCallback for a different dependency properties on the same class. Toto je společný vzor pro zavedení skutečných hodnot závislosti mezi vlastnostmi závislosti.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

Poznámky

Kromě explicitního vyvolání voláním CoerceValue CoerceValueCallback je vlastnost for Dependency volána také interně, kdykoli je hodnota vlastnosti závislosti znovu vyhodnocována systémem vlastností WPF.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 WPF property system.

Když vyvoláte CoerceValue metodu, budete nakonec volat zpětné volání s funkcí převést hodnotu pro zadanou vlastnost.When you invoke the CoerceValue method, you are ultimately invoking the coerce value callback for the property that you specify. Typicky se vyvolá CoerceValue jenom tehdy, když víte, že zpětné volání s převedenou hodnotou existuje, a pokud znáte kritéria zpětného volání pro vynucení.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.

Nejběžnější scénář pro volání CoerceValue je v rámci zpracování tříd nebo zpětná volání změny vlastností souvisejících vlastností, které ovlivňují hodnoty ostatních hodnot v závislosti na tom, jak jsou závislé.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. Další informace najdete v tématu zpětná volání vlastností závislosti a ověřování.For more information, see Dependency Property Callbacks and Validation.

Platí pro

Viz také