此示例演示如何设置以在绑定目标(target)或绑定源(source)属性更新时接收到通知。
示例:
每次更新绑定源或目标时,Windows Presentation Foundation (WPF)都会引发数据更新事件。 在内部,此事件用于通知用户界面(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
事件参数可用于确定更改的属性的详细信息(例如属性的类型或具体的元素,尤其是当同一个处理程序附加到多个元素上时)。这在单个元素有多个绑定属性的情况下非常有用。