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

继承者说明

始终调用基本实现。 未能执行此操作会显著禁用整个 WPF 属性系统,从而导致报告不正确的值。

适用于

另请参阅