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 ссылках. Реализация Freezable переопределения OnPropertyChanged использует внутреннюю информацию, чтобы определить, являются ли свойства вложенными свойствами, и предоставляет соответствующую логику базового класса для любого случая.

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

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

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

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

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