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 またはその値が無効であるか、存在しません。

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

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 プロパティシステムによって再評価されるたびに、を呼び出すことによって明示的に呼び出されるだけでなく、依存関係プロパティのも内部的に呼び出されます。

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

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

適用対象

こちらもご覧ください