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同じクラスの異なる依存関係プロパティとしてPropertyChangedCallback使用される実装内を呼び出CoerceValueします。 これは、依存関係プロパティ間に真の値の依存関係を導入するための一般的なパターンです。

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 依存関係プロパティの値が WPF プロパティ システムによって再評価されるたびに、for 依存関係プロパティも内部的に呼び出されます。

メソッドを CoerceValue 呼び出すと、最終的には、指定したプロパティの強制値コールバックが呼び出されます。 通常は、強制値コールバックが存在することがわかっている場合、および強制的なコールバックの基準がわかっている場合にのみ呼び出 CoerceValue します。

呼び出し CoerceValue の最も一般的なシナリオは、依存する方法で相互の値に影響を与える関連プロパティのクラス処理またはプロパティ変更コールバック内にあります。 詳しくは、「依存関係プロパティのコールバックと検証」を参照してください。

適用対象

こちらもご覧ください