依存関係プロパティを理解しようと頭を悩ませています。
私が持っているクエリは次のとおりです。
Depenedency プロパティは static として宣言されているため、static はクラス レベル プロパティを意味し、単一のインスタンスのみが作成され、すべてのオブジェクトが同じオブジェクトを共有します。
ユーザー コントロールがあり、依存関係プロパティ IsHighlighted をそのユーザー コントロールに追加しました。この依存関係プロパティは、いくつかのビュー モデル プロパティにバインドされており、依存関係プロパティの値を変更するためのコールバックを登録しました。したがって、誰かがビューモデルのプロパティを変更するとすぐに、依存関係プロパティのコールバックが呼び出され、ブール値として true の場合はアニメーションが開始されます。
ここで、5 つのオブジェクト ビューを作成しました。object1 の viewmodel プロパティを true に設定すると、object1 ではなく最後のノード object5 に対してアニメーションが実行されます。ビュー モデルのプロパティは静的ではありません。
オブジェクトごとに依存関係プロパティが作成されるか、すべてのオブジェクトに対して単一になるか混乱しています。
すべてのオブジェクトに対して単一の場合、ユーザー コントロールの通常の CLR プロパティでは変更ハンドラーが呼び出されないため、シミュレーションを実行する必要があるユーザー コントロール プロパティの変更を追跡する方法は何でしょうか。
概要: 依存関係プロパティは、クラス レベルまたはオブジェクト レベルで作成されます。静的として宣言されているため、クラス レベルで作成された場合、オブジェクト レベル (非静的) のプロパティを作成する方法はありますが、通常の CLR プロパティの値変更コールバックはありません。だからそれを行う方法。