2014-10-22 2 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; 
} 

я добавить элемент управления в форму, добавить несколько объектов заголовков, с каждый из которых имеет несколько Detail объектов добавил к ним. Пока все работает нормально.

Однако, когда я закрываю форму и открыть его снова, я получаю сообщение об ошибке:

сообщение 1 Метод «System.Collections.ObjectModel.ObservableCollection`1 [[Utils.Header, Utils, Version = 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

+0

* код в формеdesigner class * ouch, вы не редактируете 'blablabla.Designer.cs' прямо Я надеюсь? – Sinatr

+0

@Tigran Это проект WinForms –

ответ

0

Я изменил ObservableCollection на BindingList и реализовал INotifyPropertyChanged на классах, и похоже, что он работает нормально.

Примечание: ObservableCollection для WPF не WinForms!

Смежные вопросы