要解决BindingList对象会忽略新建或删除的对象的问题,可以使用ObservableCollection
以下是一个使用ObservableCollection
using System;
using System.Collections.ObjectModel;
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
}
public class Program
{
public static void Main(string[] args)
{
ObservableCollection people = new ObservableCollection();
people.CollectionChanged += People_CollectionChanged;
// 添加对象
people.Add(new Person { Name = "Alice", Age = 25 });
people.Add(new Person { Name = "Bob", Age = 30 });
// 删除对象
people.RemoveAt(0);
// 输出对象
foreach (var person in people)
{
Console.WriteLine($"Name: {person.Name}, Age: {person.Age}");
}
}
private static void People_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
{
if (e.Action == System.Collections.Specialized.NotifyCollectionChangedAction.Add)
{
Console.WriteLine("对象已添加");
}
else if (e.Action == System.Collections.Specialized.NotifyCollectionChangedAction.Remove)
{
Console.WriteLine("对象已删除");
}
}
}
在上面的示例中,我们使用ObservableCollection