다음을 통해 공유


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

설명

호출 CoerceValueCoerceValueCallback 을 통해 명시적으로 호출되는 것 외에도 종속성 속성 값이 WPF 속성 시스템에서 다시 평가될 때마다 종속성 속성에 대한 호출도 내부적으로 호출됩니다.

메서드를 CoerceValue 호출할 때는 궁극적으로 지정한 속성에 대한 강제 변환 값 콜백을 호출합니다. 일반적으로 강제 변환 값 콜백이 있고 콜백의 강제 변환 조건을 알고 있는 경우에만 호출 CoerceValue 합니다.

호출 CoerceValue 에 대한 가장 일반적인 시나리오는 종속적인 방식으로 서로의 값에 영향을 주는 관련 속성의 클래스 처리 또는 속성 변경 콜백 내에 있습니다. 자세한 내용은 종속성 속성 콜백 및 유효성 검사를 참조하세요.

적용 대상

추가 정보