我在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; }
}
属性对话框允许我添加和删除这些项目,但是一旦我关闭对话框,我输入的值就会丢失。
我错过了什么?非常感谢!
答案 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; }
}
}