DependencyObject.CoerceValue(DependencyProperty) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
指定した依存関係プロパティの値を強制します。 これは、呼び出し元の 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
またはその値が無効であるか、存在しません。
例
次の例では、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 の最も一般的なシナリオは、依存する方法で相互の値に影響を与える関連プロパティのクラス処理またはプロパティ変更コールバック内にあります。 詳しくは、「依存関係プロパティのコールバックと検証」を参照してください。