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. FreezableOnPropertyChangedオーバーライド実装では、内部情報を使用してプロパティがサブプロパティであるかどうかを判断し、どちらの場合にも適切な基本クラスロジックを提供します。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.

適用対象

こちらもご覧ください