2012-02-23 8 views
3

与えられたDependencyPropertyを持つすべてのバインディングをソースとして取得することが可能かどうか疑問に思っていますか?DependencyPropertyへのすべてのバインドを取得

私はDependencyPropertyDescriptor.FromProperty(DependencyProperty, Type)メソッドでクラスを探していましたが、残念ながら成功しませんでした。変更通知のためのリスナーの登録だけが可能ですが、登録されたリスナー(私の場合はバインディング)を検査する方法はありません。

私はBindingOperationクラスも調べました。すべての操作は、のターゲットのバインディングでのみ動作し、ソースではありません。

登録されたリスナーのマルチキャストデリゲートに手を差し伸べて、呼び出しリストを取得できれば十分です。私はICustomTypeDescriptorを実装し、getPropertiesメソッドを傍受することによってPropertyDescriptorを上にValueChangedメソッドを追加/削除をフックしようとすることを決めたいくつかの反射鏡の魔法を使用した後

編集

。そこから私は、変更通知のために登録されているデリゲートを傍受可能性が...

答えて

1

まあ、私もこのことを知って興味があるだろう!おそらくマイクロソフトはそのようなAPIを提供したことはありませんでした。 WPFでは、GUI(Target!)は依存関係の値を変更するためのドライバであるため、すべての依存関係のプロパティがターゲットGUI上に追加または追加されるため、APIはソースよりも多くのターゲットになります。

関連する問題