次の方法で共有


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

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

注意 (継承者)

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

適用対象

こちらもご覧ください