방법: 바인딩 업데이트 알림 설정

이 예제에서는 바인딩의 바인딩 대상(대상) 또는 바인딩 소스(소스) 속성이 업데이트될 경우 알림을 받도록 설정하는 방법을 보여 줍니다.

예시

WPF(Windows Presentation Foundation)는 바인딩 소스 또는 대상이 업데이트될 때마다 데이터 업데이트 이벤트를 발생시킵니다. 내부적으로 이 이벤트는 바인딩된 데이터가 변경되었기 때문에 업데이트 작업을 수행해야 함을 UI(사용자 인터페이스)에 알리는 데 사용됩니다. 이러한 이벤트가 작동하고 단방향 또는 양방향 바인딩이 제대로 작동하려면 INotifyPropertyChanged 인터페이스를 사용하여 데이터 클래스를 구현해야 합니다. 자세한 내용은 속성 변경 알림 구현을 참조하세요.

바인딩에서 NotifyOnTargetUpdated 또는 NotifyOnSourceUpdated 속성(또는 둘 다)을 true로 설정합니다. 이 이벤트를 수신하기 위해 제공하는 처리기는 변경 내용에 대한 알림을 받을 요소에 직접 연결하거나, 컨텍스트의 내용이 변경되었는지 여부를 알고 싶은 경우 전체 데이터 컨텍스트에 연결해야 합니다.

다음 예제에서는 대상 속성이 업데이트될 경우 알림을 받도록 설정하는 방법을 보여 줍니다.

<TextBlock Grid.Row="1" Grid.Column="1" Name="RentText"
           Text="{Binding Path=Rent, Mode=OneWay, NotifyOnTargetUpdated=True}"
           TargetUpdated="OnTargetUpdated"/>

그런 다음, EventHandler<T> 대리자(이 예제에서는 OnTargetUpdated)를 기반으로 처리기를 할당하여 이벤트를 처리할 수 있습니다.

private void OnTargetUpdated(object sender, DataTransferEventArgs args)
{
    // Handle event
}
Private Sub OnTargetUpdated(sender As Object, e As DataTransferEventArgs)
    ' Handle event
End Sub

이벤트의 매개 변수를 사용하여 변경된 속성에 대한 정보(둘 이상의 요소에 같은 처리기가 연결된 경우 형식 또는 특정 요소)를 확인할 수 있습니다. 이는 단일 요소에 바인딩된 속성이 여러 개 있는 경우 유용할 수 있습니다.

참고 항목