DependencyObject.OnPropertyChanged(DependencyPropertyChangedEventArgs) Methode

Definition

Wird immer dann aufgerufen, wenn der effektive Wert einer Abhängigkeitseigenschaft für dieses DependencyObject aktualisiert wurde.Invoked whenever the effective value of any dependency property on this DependencyObject has been updated. Welche spezifische Abhängigkeitseigenschaft geändert wird, wird in den Ereignisdaten gemeldet.The specific dependency property that changed is reported in the event data.

protected:
 virtual void OnPropertyChanged(System::Windows::DependencyPropertyChangedEventArgs e);
protected virtual void OnPropertyChanged (System.Windows.DependencyPropertyChangedEventArgs e);
abstract member OnPropertyChanged : System.Windows.DependencyPropertyChangedEventArgs -> unit
override this.OnPropertyChanged : System.Windows.DependencyPropertyChangedEventArgs -> unit
Protected Overridable Sub OnPropertyChanged (e As DependencyPropertyChangedEventArgs)

Parameter

e
DependencyPropertyChangedEventArgs

Ereignisdaten, die den betreffenden Bezeichner für eine Abhängigkeitseigenschaft, die Eigenschaftsmetadaten für den Typ sowie die alten und neuen Werte enthalten.Event data that will contain the dependency property identifier of interest, the property metadata for the type, and old and new values.

Hinweise

Diese Methode ist nicht dafür vorgesehen, einzelne Eigenschafts Änderungen im Allgemeinen zu erkennen oder die Validierung von Eigenschaften auf Einzelfallbasis auszuführen.This method is not intended to generally detect individual property changes or perform invalidations of properties on a per-case basis. OnPropertyChanged ist stattdessen für Änderungen des allgemeinen invalidierungsmusters vorgesehen, wenn bestimmte Informationen über breite Klassifizierungen von Eigenschaften bekannt sind.OnPropertyChanged is instead intended for modifications of the general invalidation pattern, if certain information is known about wide classifications of properties. Änderungen in einem Freezable können z. b. Änderungen in den Werttypen von Freezable oder unter Eigenschaften sein, bei denen sich die Änderungen innerhalb anderer Freezable-Verweise befinden.For example, changes in a Freezable might be changes in the value types of the Freezable, or might be subproperties, where the changes are within other Freezable references. Die Freezable-Überschreibungs Implementierung von OnPropertyChanged verwendet interne Informationen, um zu bestimmen, ob es sich bei den Eigenschaften um untergeordnete Eigenschaften handelt, und bietet für beide Fälle eine entsprechende Basisklassen Logik.The Freezable override implementation of OnPropertyChanged uses internal information to determine whether the properties are subproperties, and provides appropriate base class logic for either case.

OnPropertyChanged kann während der Lebensdauer eines Objekts möglicherweise mehrmals aufgerufen werden.OnPropertyChanged is potentially invoked many times during the life of an object. Aus diesem Grund können Sie eine bessere Leistung für das allgemeine Eigenschaften System erzielen, wenn Sie die Metadaten bestimmter Eigenschaften überschreiben und dann CoerceValueCallback-oder PropertyChangedCallback-Funktionen für einzelne Eigenschaften anfügen.Therefore, you can achieve better performance for the overall property system if you override the metadata of specific properties and then attach CoerceValueCallback or PropertyChangedCallback functions for individual properties. Sie verwenden diese Methode jedoch, wenn eine DependencyObject eine beträchtliche Anzahl von Wert abhängigen Abhängigkeits Eigenschaften enthält, oder wenn Sie Logik wie das Renderingverhalten enthält, das für mehrere verwandte Fälle von Eigenschafts Invalidierungen erneut ausgeführt werden muss.However, you would use this method if a DependencyObject includes a significant number of value-interrelated dependency properties, or if it includes logic such as rendering behavior that must be rerun for several related cases of property invalidations.

Hinweise für Vererber

Ruft immer die Basis Implementierung auf.Always call the base implementation. Wenn dies nicht der Fall ist, wird das gesamte WPFWPF-Eigenschaften System erheblich deaktiviert, sodass falsche Werte gemeldet werden.Failure to do this will significantly disable the entire WPFWPF property system, causing incorrect values to be reported.

Gilt für:

Siehe auch