Dou*_*unk 13 .net c# data-binding collections winforms
我对胜利形式的约束相对较新.为了学习该主题,我设置了以下测试应用程序.a ListBox和a的基本winform Button.
public partial class Form1 : Form
{
public List<String> stringList = new List<String>();
public Form1()
{
InitializeComponent();
stringList.Add("First");
listBox1.DataSource = stringList;
}
private void button1_Click(object sender, EventArgs e)
{
stringList.Add("Second");
}
}
Run Code Online (Sandbox Code Playgroud)
字符串"First"显示在listBox1应用程序启动时.但是,当我按下向stringList新项目添加新字符串的按钮时,未显示listBox1.任何人都可以帮我理解收集数据绑定的基础知识吗?
Ale*_*Aza 13
替换List<String>为BindingList<String>.
所述的BindingList类可以用来作为基类来创建一个双向数据绑定机制.BindingList提供了IBindingList接口的具体通用实现.
List<T>class不提供有关集合更改的任何通知.所以没有办法ListBox知道添加了一个新元素.但是,如果使用实现IBindingList接口的集合,则ListBox会订阅ListChanged事件.这就是知道何时刷新自己的方式.