2014-10-22 88 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!