DependencyObject.CoerceValue(DependencyProperty) Метод

Определение

Приводит значение указанного свойства зависимостей.Coerces the value of the specified dependency property. Это осуществляется путем вызова какой-либо функции CoerceValueCallback, указанной в метаданных свойства зависимостей, которое существует в вызывающем объекте 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)

Параметры

dp
DependencyProperty

Идентификатор приводимого свойства зависимостей.The identifier for the dependency property to coerce.

Исключения

Указанный параметр dp или его значение недопустимы, или их не существует.The specified dp or its value were invalid or do not exist.

Примеры

В следующем примере вызывается CoerceValue в реализации PropertyChangedCallback, которая используется в качестве PropertyChangedCallback для различных свойств зависимостей в том же классе.The following example calls CoerceValue within a PropertyChangedCallback implementation that is used as the PropertyChangedCallback for a different dependency properties on the same class. Это распространенный шаблон для представления зависимостей значений true между свойствами зависимостей.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

Комментарии

В дополнение к явному вызову метода CoerceValue CoerceValueCallback для свойства зависимостей также вызывается внутренне при повторной оценке значения свойства зависимостей системой свойств WPFWPF.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.

При вызове метода CoerceValue в конечном итоге вызывается обратный вызов приводимого значения для указанного свойства.When you invoke the CoerceValue method, you are ultimately invoking the coerce value callback for the property that you specify. Обычно CoerceValue вызывается только в том случае, если известно, что обратный вызов приводимого значения существует, и если вы знакомы с критериями обратного вызова для приведения.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.

Наиболее распространенным сценарием вызова CoerceValue является обработка класса или обратные вызовы изменения свойств связанных свойств, которые влияют на значения друг друга.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. Дополнительные сведения см. в разделе Проверка и обратные вызовы свойства зависимостей.For more information, see Dependency Property Callbacks and Validation.

Применяется к

Дополнительно