我有一個複雜數據類型的RIA silverlight 4應用程序作爲模型。作爲一個熟悉的例子,我們稱之爲aspnet_User,它有一個名爲aspnet_Membership的成員對象; aspnet_User有一個名爲「UserName」的成員,而aspnet_Membership有一個名爲「Email」的成員。現在使用aspnet_User作爲數據上下文,我想綁定到aspnet_User或附加的aspnet_Membership中的任何更改 - 即我想要顯示aspnet_User是否「髒」。髒標誌應顯示是否更改aspnet_User.UserName或aspnet_Membership.Email。現在我已經實現了一個Converter,並綁定到一個對象上的EntityState,這對於顯示簡單屬性是否髒,但是在編輯aspnet_Membership成員的方面時不會改變EntityState來說是很好的。RIA,Silverlight 4,EntityStates和複雜類型
我試圖實現一個名爲BubbledEntityState的屬性,它反映了修改後的aspnet_User或aspnet_membership上的EntityState。它是在Silverlight項目的一個部分類中定義的。這需要對aspnet_User或其成員aspnet_Membership上的EntityState PropertyChanged事件作出反應。所以我試圖在部分OnCreated方法中處理這些事件。然而奇怪的是,這根本沒有被調用。下面是方法: 公共部分類aspnet_User {
partial void OnCreated()
{
this.aspnet_Membership.PropertyChanged += new System.ComponentModel.PropertyChangedEventHandler(aspnet_Membership_PropertyChanged);
this.PropertyChanged += new System.ComponentModel.PropertyChangedEventHandler(aspnet_User_PropertyChanged);
}
... }
我假定aspnet_User對象構造在服務器上,而不是「重建」當他們重新組建了RIA完成WCF調用後的客戶端。這讓我感到奇怪。我在做一些胡思亂想的事情嗎?任何人都有更好的方式來處理這個問題?