DependencyObject.OnPropertyChanged(DependencyPropertyChangedEventArgs) Metoda

Definice

Vyvolá se vždy, když byla aktualizována skutečná hodnota jakékoli vlastnosti závislosti DependencyObject .Invoked whenever the effective value of any dependency property on this DependencyObject has been updated. Konkrétní vlastnost závislosti, která se změnila, je uvedena v datech události.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

Data události, která budou obsahovat identifikátor vlastnosti závislosti, metadata pro daný typ a staré a nové hodnoty.Event data that will contain the dependency property identifier of interest, the property metadata for the type, and old and new values.

Poznámky

Tato metoda není určena k tomu, aby obecně zjišťovala jednotlivé změny vlastností nebo prováděla neplatnost vlastností na základě jednotlivých případů.This method is not intended to generally detect individual property changes or perform invalidations of properties on a per-case basis. OnPropertyChanged je místo toho určen pro úpravy obecného vzoru neplatnosti, pokud jsou určité informace známy v rámci široké klasifikace vlastností.OnPropertyChanged is instead intended for modifications of the general invalidation pattern, if certain information is known about wide classifications of properties. Například změny v Freezable mohou být provedeny v hodnotových typech Freezable , nebo mohou být podvlastnostmi, kde se změny nacházejí v jiných Freezable odkazech.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. FreezableImplementace přepsání OnPropertyChanged používá interní informace k určení, zda jsou vlastnosti podvlastnosti, a poskytuje odpovídající logiku základní třídy pro oba případy.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 je potenciálně vyvolána mnohokrát během životnosti objektu.OnPropertyChanged is potentially invoked many times during the life of an object. Proto můžete dosáhnout lepšího výkonu pro celkový systém vlastností, pokud přepíšete metadata konkrétních vlastností a potom přiřadíte nebo přiřadíte CoerceValueCallback PropertyChangedCallback funkce pro jednotlivé vlastnosti.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. Tuto metodu však použijete, pokud DependencyObject obsahuje významný počet vlastností závislosti souvisejících s hodnotami, nebo pokud obsahuje logiku, jako je například chování při vykreslování, které je nutné znovu spustit pro několik souvisejících případů neplatných vlastností.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.

Poznámky pro dědice

Vždy zavolejte základní implementaci.Always call the base implementation. V takovém případě dojde k výraznému zakázání celého WPFWPF systému vlastností, což způsobí, že budou hlášeny nesprávné hodnoty.Failure to do this will significantly disable the entire WPFWPF property system, causing incorrect values to be reported.

Platí pro

Viz také