DependencyObject.OnPropertyChanged(DependencyPropertyChangedEventArgs) Metoda

Definicja

Wywoływana za każdym razem, gdy wartość skuteczna dowolnej właściwości zależności w tym DependencyObject została zaktualizowana.Invoked whenever the effective value of any dependency property on this DependencyObject has been updated. Określona właściwość zależności, która została zmieniona, jest raportowana w danych zdarzenia.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)

Parametry

e
DependencyPropertyChangedEventArgs

Dane zdarzenia, które będą zawierać identyfikator właściwości zależności, metadane właściwości dla typu i stare i nowe wartości.Event data that will contain the dependency property identifier of interest, the property metadata for the type, and old and new values.

Uwagi

Ta metoda nie jest przeznaczona do ogólnego wykrywania poszczególnych zmian właściwości lub wykonywania nieprawidłowych właściwości dla poszczególnych przypadków.This method is not intended to generally detect individual property changes or perform invalidations of properties on a per-case basis. OnPropertyChanged zamiast tego jest przeznaczony do modyfikacji ogólnego wzorca unieważnienia, jeśli pewne informacje są znane o szerokich klasyfikacjach właściwości.OnPropertyChanged is instead intended for modifications of the general invalidation pattern, if certain information is known about wide classifications of properties. Na przykład zmiany w Freezable mogą ulec zmianie w typach wartości Freezable lub mogą być podwłaściwościami, w których zmiany znajdują się w innych odwołaniach Freezable.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. Implementacja Freezable przesłania OnPropertyChanged używa wewnętrznych informacji, aby określić, czy właściwości są podwłaściwościami, i zapewnia właściwą logikę klasy podstawowej w obu przypadkach.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 jest potencjalnie wywoływany wiele razy w okresie istnienia obiektu.OnPropertyChanged is potentially invoked many times during the life of an object. W związku z tym można osiągnąć lepszą wydajność dla ogólnego systemu właściwości w przypadku zastąpienia metadanych określonych właściwości, a następnie dołączenia CoerceValueCallback lub PropertyChangedCallback funkcji dla poszczególnych właściwości.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. Należy jednak użyć tej metody, jeśli DependencyObject zawiera znaczącą liczbę właściwości zależności powiązanych z wartościami lub jeśli obejmuje ona logikę, taką jak zachowanie renderowania, które należy uruchomić ponownie dla kilku powiązanych przypadków Unieważnień właściwości.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.

Uwagi dotyczące dziedziczenia

Zawsze Wywołaj implementację podstawową.Always call the base implementation. Niewykonanie tej czynności spowoduje znacząco wyłączenie całego systemu właściwości WPFWPF, co spowoduje zgłoszenie niepoprawnych wartości.Failure to do this will significantly disable the entire WPFWPF property system, causing incorrect values to be reported.

Dotyczy

Zobacz też