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;