.Net WinForm应用程序不持久化List <myclass> </myclass>类型的属性

时间:2010-03-02 14:48:58

标签: c# winforms user-controls

我在Windows应用程序C#3.5中创建了一个用户控件,它有许多属性(字符串,整数,颜色等)。这些可以在属性窗口中修改,值可以保持不变。

但是我创建了一个像

这样的属性
  public class MyItem
  {
       public string Text { get; set; }
       public string Value { get; set; }
  }

  public class MyControl : UserControl
  {
       public List<MyItem> Items { get; set; }
  }

属性对话框允许我添加和删除这些项目,但是一旦我关闭对话框,我输入的值就会丢失。

我错过了什么?非常感谢!

1 个答案:

答案 0 :(得分:2)

您需要初始化项目,以便自动getter / setter在这里不会帮助您。

尝试

public class MyControl : UserControl
{
    private List<MyItem> _items = new List<MyItem>();

    public List<MyItem> Items
    {
         get { return _items; }
         set { _items = value; }
    }
 }