DependencyObject.CoerceValue(DependencyProperty) Метод

Определение

Приводит значение указанного свойства зависимостей. Это осуществляется путем вызова какой-либо функции CoerceValueCallback, указанной в метаданных свойства зависимостей, которое существует в вызывающем объекте DependencyObject.

C#
public void CoerceValue (System.Windows.DependencyProperty dp);

Параметры

dp
DependencyProperty

Идентификатор приводимого свойства зависимостей.

Исключения

Указанный параметр dp или его значение недопустимы, или их не существует.

Примеры

В следующем примере вызывается CoerceValue в PropertyChangedCallback реализации, которая используется в качестве PropertyChangedCallback различных свойств зависимостей для одного класса. Это распространенный шаблон для введения зависимостей истинного значения между свойствами зависимостей.

C#
private static void OnCurrentReadingChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
{
  d.CoerceValue(MinReadingProperty);
  d.CoerceValue(MaxReadingProperty);
}

Комментарии

Помимо явного вызова CoerceValue, CoerceValueCallback свойство зависимостей также вызывается внутренне при повторном вычислении значения свойства зависимостей системой свойств WPF.

При вызове CoerceValue метода в конечном итоге вызывается обратный вызов значения принудителя для указанного свойства. Обычно вызов CoerceValue выполняется только в том случае, если вы знаете, что существует обратный вызов со значением принудительного вызова, и если вы знаете критерии обратного вызова для приведения.

Наиболее распространенный сценарий вызова CoerceValue заключается в обработке класса или обратном вызове изменений свойств связанных свойств, которые влияют на значения друг друга зависимым образом. Дополнительные сведения см. в разделе Проверка и обратные вызовы свойства зависимостей.

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

Продукт Версии
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8
Windows Desktop 3.0, 3.1, 5, 6, 7

См. также раздел