Anleitung: Einrichten der Benachrichtigung über Binding-Aktualisierungen
In diesem Beispiel wird gezeigt, wie sie so eingerichtet werden, dass sie benachrichtigt wird, wenn das Bindungsziel (Ziel) oder die Bindungsquelle (Quelleigenschaft) einer Bindung aktualisiert wurde.
Beispiel
Windows Presentation Foundation (WPF) löst jedes Mal ein Datenaktualisierungsereignis aus, wenn die Bindungsquelle oder das Ziel aktualisiert wurde. Intern wird dieses Ereignis verwendet, um die Benutzeroberfläche zu informieren, dass es aktualisiert werden soll, da sich die gebundenen Daten geändert haben. Beachten Sie, dass, damit diese Ereignisse funktionieren und auch die unidirektionale oder bidirektionale Bindung ordnungsgemäß funktioniert, Ihre Datenklasse mithilfe der INotifyPropertyChanged-Schnittstelle implementiert werden muss. Weitere Informationen finden Sie unter Implementierung der Änderungsbenachrichtigung für Eigenschaften.
Legen Sie die eigenschaft NotifyOnTargetUpdated oder NotifyOnSourceUpdated (oder beides) auf true
in der Bindung fest. Der Handler, den Sie für die Überwachung dieses Ereignisses bereitstellen, muss direkt an das Element angefügt werden, an dem Sie über Änderungen informiert werden möchten, oder dem gesamten Datenkontext, wenn Sie sich bewusst sein möchten, dass sich etwas im Kontext geändert hat.
Hier ist ein Beispiel, das zeigt, wie Sie eine Benachrichtigung einrichten, wenn eine Zieleigenschaft aktualisiert wurde.
<TextBlock Grid.Row="1" Grid.Column="1" Name="RentText"
Text="{Binding Path=Rent, Mode=OneWay, NotifyOnTargetUpdated=True}"
TargetUpdated="OnTargetUpdated"/>
Anschließend können Sie einen Handler basierend auf dem EventHandler<T> Delegaten OnTargetUpdated in diesem Beispiel zuweisen, um das Ereignis zu behandeln:
private void OnTargetUpdated(object sender, DataTransferEventArgs args)
{
// Handle event
}
Private Sub OnTargetUpdated(sender As Object, e As DataTransferEventArgs)
' Handle event
End Sub
Parameter des Ereignisses können verwendet werden, um Details zu der Eigenschaft zu bestimmen, die geändert wurde (z. B. den Typ oder das bestimmte Element, wenn derselbe Handler mehreren Elementen zugeordnet ist), was nützlich sein kann, wenn mehrere gebundene Eigenschaften für ein einzelnes Element vorhanden sind.
Siehe auch
.NET Desktop feedback