FrameworkElement.OnPropertyChanged(DependencyPropertyChangedEventArgs) Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Invoked whenever the effective value of any dependency property on this FrameworkElement has been updated. The specific dependency property that changed is reported in the arguments parameter. Overrides OnPropertyChanged(DependencyPropertyChangedEventArgs).
protected:
override void OnPropertyChanged(System::Windows::DependencyPropertyChangedEventArgs e);
protected override void OnPropertyChanged (System.Windows.DependencyPropertyChangedEventArgs e);
override this.OnPropertyChanged : System.Windows.DependencyPropertyChangedEventArgs -> unit
Protected Overrides Sub OnPropertyChanged (e As DependencyPropertyChangedEventArgs)
Parameters
The event data that describes the property that changed, as well as old and new values.
Remarks
This method is not intended to generally detect property changes or invalidations. It is instead intended for modifications of the general invalidation pattern if certain information is known about wide classifications of properties.
This method is potentially invoked many times during the life of an object. Therefore, you can achieve better performance if you override the metadata of specific properties and then attach CoerceValueCallback or PropertyChangedCallback functions for individual properties. However, you would use this method if a FrameworkElement 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.
Note that there is an identically named OnPropertyChanged
method with a different signature (the parameter type is PropertyChangedEventArgs) that can appear on a number of classes. That OnPropertyChanged
is used for data object notifications, and is part of the contract for INotifyPropertyChanged.
Notes to Inheritors
Always call the base implementation, as the first operation in your implementation. Failure to do this will significantly disable the entire WPF property system, which causes incorrect values to be reported. The specific FrameworkElement implementation is also responsible for maintaining proper state for a variety of properties that affect the visible user interface. These include invalidating the visual tree based on changes to style at appropriate times.