改變了我有一個多部分的問題:檢測的DataContext在Silverlight
(1)是否有一個很好的理由Silverlight的不公開DataContextChanged僅事件?如果微軟的某個人在FrameworkElement類中將internal
更改爲public
(如WPF那樣),似乎可以避免很多麻煩。
(2)我發現one或two不同的方法來通過一個配置或其他使用DependencyProperties黑客用自己的方式爲DataContextChanged僅事件。但我無法讓他們可靠地工作。到目前爲止,我的測試似乎表明,他們解決了被黑客入侵的DataContextChanged事件,這對我連接到的第一個類來說很好,但不會爲其他任何類進行解僱。有其他人遇到這個問題嗎?或者更好的是,他們是否有辦法解決這個問題? (3)我一直在爲自己想要知道什麼時候DataContext發生了變化的原因是,有些UI操作在XAML中很難實現,但在代碼隱藏方面很微不足道;對於其中的許多事情,我需要處理ViewModel引發的事件;因此我需要知道我的ViewModel何時更改,因此我可以連接事件處理程序。這是對世界的準確看法嗎?或者是我想要在代碼中處理這類事情的事實 - 背後有一個很好的跡象表明我的思想在某些方面已經脫離了軌道?我不是MVVM純粹主義者:我只想快速從這裏獲得良好的代碼,並且我並不特別關心我如何到達那裏。 Code-behind對我來說已經合理地工作了十多年了,而且我完全放棄了它。但是,在這一點上,我的實用主義讓我更加困難?
我聽說你的代碼隱藏已經爲你服務了十多年了。 – 2011-02-08 18:04:48
對於它的價值,這個事件應該在Silverlight 5中曝光(http://www.dotblogs.com.tw/kan/archive/2011/01/28/21097.aspx),雖然我確信這個現在是小舒適。 – RobSiklos 2011-02-08 20:50:34