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 プロパティの広範な分類に関する特定の情報がわかっていれば、代わりに一般的な無効化パターンの変更を目的としています。 たとえば、a の Freezable 変更は、サブプロパティの値型の Freezable変更である場合もあれば、変更が他 Freezable の参照内にある場合もあります。 オーバーライドのOnPropertyChanged実装ではFreezable、内部情報を使用してプロパティがサブプロパティであるかどうかを判断し、どちらの場合にも適切な基本クラス ロジックを提供します。

OnPropertyChanged は、オブジェクトの有効期間中に何度も呼び出される可能性があります。 したがって、特定のプロパティのメタデータをオーバーライドし、個々のプロパティに対してアタッチまたはPropertyChangedCallback関数をアタッチCoerceValueCallbackすると、プロパティ システム全体のパフォーマンスを向上させることができます。 ただし、値と相互に関連する依存関係プロパティの数が多い場合 DependencyObject や、プロパティの無効化のいくつかの関連するケースで再実行する必要があるレンダリング動作などのロジックが含まれている場合は、このメソッドを使用します。

注意 (継承者)

常に基本実装を呼び出します。 これを行わないと、WPF プロパティ システム全体が大幅に無効になり、正しくない値が報告されます。

適用対象

こちらもご覧ください