WPF Error: Type 'System.ComponentModel.PropertyChangedEventManager' in Assembly 'WindowsBase,,,' is not marked as serializable.

ProjectData.cs:

[Serializable]
public class ProjectData : INotifyPropertyChanged

{

  public event PropertyChangedEventHandler PropertyChanged;

}

 

Executor.cs

ProjectData pd = new ProjectData();

...

using (FileStream fs = new FileStream(filePath, FileMode.Create))
{
  BinaryFormatter bf = new BinaryFormatter();
  bf.Serialize(fs, PatentInstance);
  fs.Close();
}

 

报错:

Type 'System.ComponentModel.PropertyChangedEventManager' in Assembly 'WindowsBase, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' is not marked as serializable.

 

解决方法:

[field: NonSerializedAttribute()]
public event PropertyChangedEventHandler PropertyChanged;

posted @ 2016-03-22 14:59  Jane&Coding  阅读(1097)  评论(0)    收藏  举报