2012-02-23 56 views
3

我想知道是否有可能獲得所有綁定的給定DependencyProperty設置爲獲取所有綁定到DependencyProperty

我正在通過DependencyPropertyDescriptor.FromProperty(DependencyProperty, Type)方法尋找DependencyPropertyDescriptor類,不幸的是沒有成功。它只允許註冊一個監聽器來更改通知,但它無法檢查註冊的監聽器(在我的情況下是綁定)。

我還查看了BindingOperation類,其中所有操作僅適用於綁定目標,而不是源。

如果我能掌握已註冊偵聽器的多播委託並獲取調用列表,那就足夠了。

編輯

使用一些魔法反射我決定嘗試掛鉤到添加/通過實現ICustomTypeDescriptor和攔截的GetProperties方法上的PropertyDescriptor的ValueChanged刪除後的方法。從那裏我可以攔截正在註冊變更通知的代表...

回答

1

那麼我也有興趣知道這一點!可能微軟從來沒有給過任何這樣的API,因爲它的反依賴性要求。在WPF中,GUI(Target!)是依賴關係值更改的驅動程序,所以所有依賴屬性都會上升或附加到目標gui,因此這些API是目標驅動的,而不是來源(對於該目標可能有很多!)。

相關問題