DependencyObject.CoerceValue(DependencyProperty) 方法

定义

对指定依赖属性的值进行强制。 通过对调用方 DependencyObject 上存在的依赖属性的属性元数据中所指定的任何 CoerceValueCallback 函数进行调用来完成此操作。

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

要强制转换的依赖项属性的标识符。

例外

指定的 dp 或其值无效或不存在。

示例

以下示例在实现中PropertyChangedCallback调用CoerceValue,该实现用作PropertyChangedCallback同一类的不同依赖项属性。 这是一种常见模式,用于引入依赖项属性之间的 true 值依赖关系。

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外,每当 WPF 属性系统重新评估依赖属性值时, CoerceValueCallback 也会在内部调用依赖属性。

调用 CoerceValue 该方法时,最终会调用所指定属性的强制值回调。 通常,仅当知道存在强制值回调,并且知道回调的强制条件时,才会调用 CoerceValue 该回调。

调用 CoerceValue 的最常见方案是在类处理或属性更改相关属性回调中,这些回调以依赖方式影响彼此的值。 有关详细信息,请参阅依赖属性回调和验证

适用于

另请参阅