Gewusst wie: Einrichten von Benachrichtigungen über Bindungsaktualisierungen
Aktualisiert: November 2007
In diesem Beispiel wird erläutert, wie Sie Benachrichtigungen einrichten können, die Sie darüber informieren, wenn die Eigenschaft Bindungsziel (Ziel) oder Bindungsquelle (Quelle) einer Bindung aktualisiert wurde.
Beispiel
Bei jeder Aktualisierung der Bindungsquelle oder des Bindungsziels löst Windows Presentation Foundation (WPF) ein Datenaktualisierungsereignis aus. Intern veranlasst dieses Ereignis die Benutzeroberfläche (user interface, UI), eine Aktualisierung durchzuführen, weil sich die gebundenen Daten geändert haben. Beachten Sie, dass Sie Ihre Datenklasse mithilfe der INotifyPropertyChanged-Schnittstelle implementieren müssen, damit diese Ereignisse sowie unidirektionale bzw. bidirektionale Bindungen ordnungsgemäß funktionieren. Weitere Informationen finden Sie unter Gewusst wie: Implementieren von Benachrichtigungen bei Eigenschaftenänderungen.
Legen Sie die Eigenschaft NotifyOnTargetUpdated oder NotifyOnSourceUpdated (oder beide) in der Bindung auf true fest. Der Handler, den Sie zur Überwachung dieses Ereignisses bereitstellen, muss direkt an das Element angefügt werden, über dessen Änderungen Sie informiert werden möchten. Oder er muss an den Gesamtdatenkontext angefügt werden, wenn Sie über Änderungen am Kontext informiert werden möchten.
Das vollständige Beispiel finden Sie unter Beispiel zum Steuern der Richtung und zeitlichen Steuerung des Datenflusses.
Im folgenden Beispiel wird erläutert, wie Sie Benachrichtigungen für die Aktualisierung einer Zieleigenschaft einrichten.
<TextBlock Grid.Row="1" Grid.Column="1" Name="RentText"
Text="{Binding Path=Rent, Mode=OneWay, NotifyOnTargetUpdated=True}"
TargetUpdated="OnTargetUpdated"/>
Anschließend können Sie zur Behandlung des Ereignisses einen Handler auf Grundlage des EventHandler<T>-Delegats einrichten, in diesem Beispiel OnTargetUpdated:
private void OnTargetUpdated(Object sender, DataTransferEventArgs args)
{
// Handle event
...
}
Parameter des Ereignisses können zur Ermittlung von Details über die geänderte Eigenschaft (z. B. den Typ oder das jeweilige Element, wenn derselbe Handler an mehrere Elemente angefügt ist) verwendet werden. Diese Details können hilfreich sein, wenn es für ein einzelnes Element mehrere gebundene Eigenschaften gibt.