如何:设置绑定更新的通知

本示例演示如何设置在绑定的绑定目标(目标)或绑定源(源)属性更新时收到通知。

示例

Windows Presentation Foundation (WPF) 在每次更新绑定源或目标时都会引发数据更新事件。 在内部,此事件用于通知用户界面 (UI):它应该更新,因为绑定数据已更改。 请注意,若要让这些事件起作用,同时让单向或双向绑定正常工作,需要使用 INotifyPropertyChanged 接口实现数据类。 有关详细信息,请参阅实现属性更改通知

在绑定中将 NotifyOnTargetUpdatedNotifyOnSourceUpdated 属性(或两者)设置为 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

事件的参数可用于确定已更改属性的详细信息(例如,如果同一处理程序附加到多个元素,则可确定类型或特定元素信息),如果在单个元素上有多个绑定属性,则这些详细信息将很有用。

另请参阅