FrameworkElement.OnPropertyChanged(DependencyPropertyChangedEventArgs) メソッド


この FrameworkElement の依存関係プロパティの有効値が更新された場合に必ず呼び出されます。Invoked whenever the effective value of any dependency property on this FrameworkElement has been updated. 変更が発生した特定の依存関係プロパティが引数パラメーターで報告されます。The specific dependency property that changed is reported in the arguments parameter. OnPropertyChanged(DependencyPropertyChangedEventArgs) をオーバーライドします。Overrides OnPropertyChanged(DependencyPropertyChangedEventArgs).

 override void OnPropertyChanged(System::Windows::DependencyPropertyChangedEventArgs e);
protected override void OnPropertyChanged (System.Windows.DependencyPropertyChangedEventArgs e);
override this.OnPropertyChanged : System.Windows.DependencyPropertyChangedEventArgs -> unit
Protected Overrides Sub OnPropertyChanged (e As DependencyPropertyChangedEventArgs)



変更されたプロパティと、新旧の値を記述するイベント データ。The event data that describes the property that changed, as well as old and new values.


このメソッドは、一般的にプロパティの変更や無効化を検出するためのものではありません。This method is not intended to generally detect property changes or invalidations. プロパティの広範な分類に関する特定の情報がわかっている場合は、一般的な無効化パターンを変更することを意図しています。It is instead intended for modifications of the general invalidation pattern if certain information is known about wide classifications of properties.

このメソッドは、オブジェクトの有効期間中に何度も呼び出される可能性があります。This method is potentially invoked many times during the life of an object. したがって、特定のプロパティのメタデータをオーバーライドし、 CoerceValueCallback PropertyChangedCallback 個々のプロパティに対してまたは関数をアタッチすると、パフォーマンスが向上します。Therefore, you can achieve better performance if you override the metadata of specific properties and then attach CoerceValueCallback or PropertyChangedCallback functions for individual properties. ただし、に FrameworkElement 非常に多くの値相関依存関係プロパティが含まれる場合、または、プロパティの無効化の複数の関連する場合に再実行する必要があるレンダリング動作などのロジックが含まれている場合は、このメソッドを使用します。However, you would use this method if a FrameworkElement 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.

異なるシグネチャを持つ同じ名前のメソッドが存在することに注意して OnPropertyChanged ください (パラメーターの型はです PropertyChangedEventArgs )。複数のクラスに表示できます。Note that there is an identically named OnPropertyChanged method with a different signature (the parameter type is PropertyChangedEventArgs) that can appear on a number of classes. これ OnPropertyChanged はデータオブジェクト通知に使用され、のコントラクトに含まれ INotifyPropertyChanged ます。That OnPropertyChanged is used for data object notifications, and is part of the contract for INotifyPropertyChanged.

注意 (継承者)

実装の最初の操作として、常に基本実装を呼び出します。Always call the base implementation, as the first operation in your implementation. これを行わないと、WPF プロパティシステム全体が大幅に無効になり、間違った値が報告されます。Failure to do this will significantly disable the entire WPF property system, which causes incorrect values to be reported. また、特定 FrameworkElement の実装は、表示されるユーザーインターフェイスに影響を与えるさまざまなプロパティの適切な状態を維持する役割も担います。The specific FrameworkElement implementation is also responsible for maintaining proper state for a variety of properties that affect the visible user interface. これには、適切なタイミングでのスタイルの変更に基づいて、ビジュアルツリーを無効にすることが含まれます。These include invalidating the visual tree based on changes to style at appropriate times.