2013-10-15 25 views
0

我想知道如果DependencyProperty.UnsetValue在DataContext屬性上設置時觸發DataContextChanged事件?DependencyProperty.UnsetValue和DataContextChanged事件

它有點混亂什麼MSDN說一下:

指定所使用WPF屬性系統,而不是零,表明財產存在的靜態值,但沒有它的值由屬性設置系統。

「沒有設置它的值」,那麼當在DataContext上設置DataContextChanged事件不會觸發,對吧?

我希望我現在可以測試一下,但我正在打電話。

在此先感謝球員,並在情況下,它的副本,請讓我知道,所以我刪除帖子,你downvote :)

回答

0

明確設置DataContextDependencyProperty.UnsetValue火災DataContextChanged事件之前。 DependancyObject.SetValue在設置DependancyProperty值時運行檢查和邏輯的數量,當我們嘗試將DataContext設置爲DependencyProperty.UnsetValue時,它將其設置爲null並引發事件。

+0

嗨,謝謝。你測試過了嗎? –

+0

yup ..也檢查了DependancyObject的實現,如果要設置的值是DependencyProperty.UnsetValue,它會設置默認值爲null – Nitin

+0

Ohh謝謝。有沒有反映.net代碼的新工具?我知道的唯一一個來自紅門。但其昂貴。 :) :) :) –