2014-10-22 87 views
4

我有一个自定义控制:C#的ObservableCollection添加错误

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; 
} 

我的控件添加到窗体中添加一些标题对象,每个都具有一些细节的对象添加到他们。到目前为止一切正常。

然而,当我关闭窗体并再次打开它,我发现了错误:

消息1种方法“System.Collections.ObjectModel.ObservableCollection`1 [[Utils.Header,utils的,版本= 1.0 .0.0,Culture = neutral,PublicKeyToken = null]]。添加'未找到。

而且在formdesigner类的代码是这样的:

Header header1 = new Utils.Header(); 

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

什么可问题是什么?

+0

您是否尝试使用xaml实现您想要的功能? – Tigran 2014-10-22 12:11:35

+0

* formdesigner类中的代码* ouch,我不希望直接编辑'blablabla.Designer.cs'吗? – Sinatr 2014-10-22 12:11:37

+0

@Tigran这是一个WinForms项目 – 2014-10-22 12:12:50

回答

0

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

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