DependencyObject.OnPropertyChanged(DependencyPropertyChangedEventArgs) DependencyObject.OnPropertyChanged(DependencyPropertyChangedEventArgs) DependencyObject.OnPropertyChanged(DependencyPropertyChangedEventArgs) DependencyObject.OnPropertyChanged(DependencyPropertyChangedEventArgs) Method

Определение

Вызывается каждый раз, когда обновляется действительное значение любого свойства зависимостей для данного DependencyObject.Invoked whenever the effective value of any dependency property on this DependencyObject has been updated. Конкретное свойство зависимости, которое изменилось, сообщается в данных события.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)

Параметры

e
DependencyPropertyChangedEventArgs DependencyPropertyChangedEventArgs DependencyPropertyChangedEventArgs DependencyPropertyChangedEventArgs

Данные события, которые содержат интересующий идентификатор свойства зависимости, метаданные свойства для соответствующего типа, а также старое и новое значения.Event data that will contain the dependency property identifier of interest, the property metadata for the type, and old and new values.

Комментарии

Этот метод не предназначен для общего обнаружения отдельных изменений свойств или выполнения недействительных свойств для каждого варианта.This method is not intended to generally detect individual property changes or perform invalidations of properties on a per-case basis. OnPropertyChangedВместо этого предназначен для модификации общего шаблона недействительности, если определенная информация известна по широким классификациям свойств.OnPropertyChanged is instead intended for modifications of the general invalidation pattern, if certain information is known about wide classifications of properties. Например, изменения в Freezable могут быть внесены в типы значений Freezableпараметров, или могут быть вложенными свойствами, где изменения находятся в других 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. Freezable Реализацияпереопределенияиспользуетвнутренниесведения,чтобыопределить,являютсялисвойстваподсвойствами,ипредоставляетсоответствующуюлогикубазовогоклассаOnPropertyChanged в любом случае.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может вызываться много раз в течение жизненного цикла объекта.OnPropertyChanged is potentially invoked many times during the life of an object. Таким образом, можно добиться лучшей производительности для общей системы свойств, если переопределить метаданные определенных свойств, а затем присоединить CoerceValueCallback функции или PropertyChangedCallback к отдельным свойствам.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. Однако этот метод следует использовать, если DependencyObject включает значительное количество свойств зависимостей, взаимосвязанных со значениями, или если оно включает логику, например поведение отрисовки, которая должна быть повторно запущена для нескольких связанных вариантов недопустимых свойств.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.

Примечания для тех, кто наследует этот метод

Всегда вызывайте базовую реализацию.Always call the base implementation. Невыполнение этого действия приведет к значительному отключению всей WPFWPF системы свойств, что приведет к сообщению о неправильном значении.Failure to do this will significantly disable the entire WPFWPF property system, causing incorrect values to be reported.

Применяется к

Дополнительно