Поделиться через


DependencyObject.OnPropertyChanged(DependencyPropertyChangedEventArgs) Метод

Определение

Вызывается каждый раз, когда обновляется действительное значение любого свойства зависимостей для данного DependencyObject. Конкретное измененное свойство зависимостей сообщается в данных события.

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

Данные события, в которых будет содержаться интересующий идентификатор свойства зависимостей, метаданные свойства для типа, а также старое и новое значения.

Комментарии

Этот метод не предназначен, как правило, для обнаружения отдельных изменений свойств или выполнения недействительности свойств в каждом конкретном случае. OnPropertyChanged вместо этого предназначен для изменения общего шаблона недействительности, если известны определенные сведения о широких классификациях свойств. Например, изменения в Freezable могут быть изменениями в типах значений Freezableобъекта или вложенными свойствами, где изменения находятся в других Freezable ссылках. Реализация FreezableOnPropertyChanged переопределения использует внутреннюю информацию, чтобы определить, являются ли свойства вложенными свойствами, и предоставляет соответствующую логику базового класса для обоих случаев.

OnPropertyChanged потенциально вызывается много раз в течение жизненного срока существования объекта. Таким образом, можно добиться более высокой производительности для общей системы свойств, если переопределить метаданные определенных свойств и затем присоединить CoerceValueCallback или PropertyChangedCallback функции для отдельных свойств. Однако этот метод используется, если DependencyObject включает значительное количество свойств зависимостей, связанных со значениями, или если он включает логику, например поведение отрисовки, которое необходимо повторно запускать для нескольких связанных случаев недействительности свойств.

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

Всегда вызывайте базовую реализацию. В противном случае в значительной степени отключается вся система свойств WPF, что приведет к выводу неверных значений.

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

См. также раздел