2010-08-24 42 views
1

我想提出PropertyChanged在一次我ViewModel所有20個屬性,並得到了解決方案:的PropertyChanged所有屬性:消息=找不到屬性

RaisePropertyChanged(String.Empty) 

見:C#/WPF: PropertyChanged for all Properties in ViewModel?

由於我使用GalaSoft.MvvmLight.ViewModelBase.RaisePropertyChanged MVVM Light,我得到運行時錯誤:

Message=Property not found 
    ParamName="" 
    Source=GalaSoft.MvvmLight.WPF4 

這是因爲MVVM Light檢查所有屬性名稱。

我該怎麼辦?

回答

2

如果您查看源代碼,您將看到只有在編譯爲DEBUG時纔會引發此異常。如果你編譯爲RELEASE,你將不會再有這種行爲。

像肯特說的,我改變了源做一個Debug.Writeline而不是拋出異常。我不喜歡默認行爲,特別是因爲我通常會將PropertyChanged從子ViewModel的列表中重新引發到父ViewModel。