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 在对象的生存期内,可能会多次调用 。 因此,如果重写特定属性的元数据,然后为单个属性附加 CoerceValueCallbackPropertyChangedCallback 函数,则可以为整个属性系统实现更好的性能。 但是,如果 DependencyObject 包含大量与值相关的依赖属性,或者包含逻辑(如呈现行为),则必须对多个相关的属性失效情况重新运行,则使用此方法。

继承者说明

始终调用基实现。 如果不这样做,将严重禁用整个 WPF 属性系统,从而导致报告不正确的值。

适用于

另请参阅