DependencyObject.CoerceValue(DependencyProperty) Metoda

Definicja

Przekształca wartość określonej właściwości zależności.Coerces the value of the specified dependency property. Jest to realizowane przez wywołanie dowolnej CoerceValueCallback funkcji określonej w metadanych właściwości dla właściwości zależności, która istnieje w wywołaniu 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

Identyfikator właściwości zależności, która ma zostać przekształcona.The identifier for the dependency property to coerce.

Wyjątki

Określony dp lub jego wartość jest nieprawidłowa lub nie istnieje.The specified dp or its value were invalid or do not exist.

Przykłady

Poniższy przykład wywołuje CoerceValue w ramach PropertyChangedCallback implementacji, która jest używana jako PropertyChangedCallback dla różnych właściwości zależności w tej samej klasie.The following example calls CoerceValue within a PropertyChangedCallback implementation that is used as the PropertyChangedCallback for a different dependency properties on the same class. Jest to typowy wzorzec służący do wprowadzania wartości rzeczywistych zależności między właściwościami zależności.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

Uwagi

Oprócz jawnego wywołania metody CoerceValue CoerceValueCallback dla właściwości zależności jest również wywoływana wewnętrznie za każdym razem, gdy wartość właściwości zależności jest przeliczana przez WPFWPF system właściwości.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.

Gdy wywołasz CoerceValue metodę, ostatecznie wywołujesz wywołanie zwrotne wartości wymuszonej dla właściwości, którą określisz.When you invoke the CoerceValue method, you are ultimately invoking the coerce value callback for the property that you specify. Zwykle zostanie to wywołane CoerceValue tylko wtedy, gdy wiesz, że istnieje wywołanie zwrotne wartości wymuszonej i jeśli znasz kryteria wywołania zwrotnego dla przekształcenia.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.

Najbardziej typowym scenariuszem wywoływania CoerceValue jest w ramach obsługi klasy lub zmiany wartości wywołania zwrotnego powiązanych właściwości, które mają wpływ na wszystkie inne elementy w zależności od siebie.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. Aby uzyskać więcej informacji, zobacz wywołania zwrotne właściwości zależności i walidacja.For more information, see Dependency Property Callbacks and Validation.

Dotyczy

Zobacz też