DependencyObject.CoerceValue(DependencyProperty) メソッド

定義

指定した依存関係プロパティの値を強制します。Coerces the value of the specified dependency property. これは、呼び出し元の DependencyObject の依存関係プロパティのプロパティ メタデータで指定されている CoerceValueCallback 関数を呼び出すことによって実現されます。This is accomplished by invoking any CoerceValueCallback function specified in property metadata for the dependency property as it exists on the calling DependencyObject.

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

強制する依存関係プロパティの識別子。The identifier for the dependency property to coerce.

例外

指定した dp またはその値が無効であるか、存在しません。The specified dp or its value were invalid or do not exist.

次の例では、同じクラスの異なる依存関係プロパティに対して PropertyChangedCallback として使用される PropertyChangedCallback の実装内で CoerceValue を呼び出します。The following example calls CoerceValue within a PropertyChangedCallback implementation that is used as the PropertyChangedCallback for a different dependency properties on the same class. これは、依存関係プロパティ間の真の値の依存関係を導入するための一般的なパターンです。This is a common pattern for introducing true value dependencies between dependency properties.

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

注釈

@No__t-0 を呼び出すことによって明示的に呼び出されるだけでなく、依存関係プロパティの値が WPFWPF プロパティシステムによって再評価されるたびに、依存関係プロパティの CoerceValueCallback も内部的に呼び出されます。In addition to being explicitly invoked through calling CoerceValue, the CoerceValueCallback for a dependency property is also invoked internally whenever the dependency property value is being re-evaluated by the WPFWPF property system.

@No__t-0 メソッドを呼び出すと、指定したプロパティの強制値コールバックが最終的に呼び出されます。When you invoke the CoerceValue method, you are ultimately invoking the coerce value callback for the property that you specify. 通常は、強制値のコールバックが存在することがわかっている場合、および強制型変換のためのコールバックの条件がわかっている場合にのみ、CoerceValue を呼び出します。Typically you will invoke CoerceValue only if you know that a coerce value callback exists, and if you know the callback's criteria for coercion.

@No__t-0 を呼び出すための最も一般的なシナリオは、依存する方法で互いの値に影響を与える関連プロパティのクラス処理またはプロパティ変更コールバック内にあります。The most common scenario for calling CoerceValue is within class handling or property change callbacks of related properties that influence each other's values in a dependent way. 詳しくは、「依存関係プロパティのコールバックと検証」を参照してください。For more information, see Dependency Property Callbacks and Validation.

適用対象

こちらもご覧ください