我想要我的Mvvm-Light解決方案(WP7)中的類(稱爲PremiseServer)預訂從基類型派生的類的所有屬性更改(SysObject是基類,它來自ViewModel)。如何註冊以接收Mvvm-Light中的所有屬性更改
我有一套派生自SysObject的類。這些類具有不同類型的屬性(字符串,布爾值,整數等)。
當任何這些類的任何屬性發生更改時,我希望我的PremiseServer實例查看這些更改,然後進行Web服務調用以將數據推送到服務器。
我試圖這樣做,它不會被調用(現在對我來說很有意義,因爲這是獲得改變屬性不是SYSOBJECT,但SYSOBJECT的某些屬性):
Messenger.Default.Register<PropertyChangedMessage<SysObject>>(this, (action) => {
String location = ((SysObject)action.Sender).Location; // URL to POST to
Debug.WriteLine("PremiseServer PropertyChange - " + action.NewValue.ToString());
});
我也嘗試過下面(註冊字符串消息)和它的作品,但我不希望創建的其中之一爲每個屬性類型:
Messenger.Default.Register<PropertyChangedMessage<String>>(this, (action) => {
String location = ((SysObject)action.Sender).Location; // URL to POST to
Debug.WriteLine("PremiseServer PropertyChange - " + action.NewValue.ToString());
});
我也試過Register<PropertyChangeMessage<Object>
以爲我會看到所有派生類型的郵件(我沒有)。
我真正想要的是「註冊所有屬性SysObject對象的任何屬性更改messags」。我怎樣才能做到這一點?
謝謝!
沒錯。完全理解並按預期工作。謝謝! – tig 2010-09-12 01:32:04