C#ObservableCollection添加错误

时间:2014-10-22 11:59:42

标签: c# winforms user-controls

我有一个自定义控件:

public class Detail
{
    public string Text {get; set;}
}

public class Header : Detail
{
    public int Size {get; set;}
    public ObservableCollection<Detail> Details;
}

public class MyControl : Control
{
    public ObservableCollection<Header> Headers;
}

我将控件添加到表单中,添加一些Header对象,每个对象都添加了一些Detail对象。到目前为止一切正常。

但是,当我关闭表单并再次打开它时,我收到错误:

消息1方法&#39; System.Collections.ObjectModel.ObservableCollection`1 [[Utils.Header,Utils,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null]]。添加&#39;没找到。

formdesigner类中的代码是这样的:

Header header1 = new Utils.Header();

resources.ApplyResources(header1, "header1");
this.taskBar1.Headers.Add(header1);  //This line causes the error

问题是什么?

1 个答案:

答案 0 :(得分:0)

我将ObservableCollection更改为BindingList并在类上实现了INotifyPropertyChanged,看起来它工作正常。

注意:ObservableCollection用于WPF而不是WinForms!