BindingList<T>, , .
BindingList<string> list = new BindingList<string>();
listbox.DataSource = list;
list.Add("Test1");
list.Add("Test2");
list.RemoveAt(0);
Edit:
IBindingList
IBindingList.
, , NotImplementedException.
public class MyBindingList : IBindingList
{
private readonly List<string> _internalList = new List<string>();
public int Add(object value)
{
_internalList.Add(value.ToString());
var listChanged = ListChanged;
var newIndex = _internalList.Count - 1;
if (listChanged != null)
{
listChanged(this, new ListChangedEventArgs(ListChangedType.ItemAdded, newIndex));
}
return newIndex;
}
public event ListChangedEventHandler ListChanged;
public int IndexOf(object value)
{
throw new NotImplementedException();
}
}