ObservableCollection 类提供了一种实时监测集合变化的机制,可以通过订阅 CollectionChanged 事件来响应集合的添加、移除和重置等变化。
using System;
using System.Collections.ObjectModel;
using System.Collections.Specialized;
class Program
{
static void Main()
{
ObservableCollection<string> collection = new ObservableCollection<string>();
// 订阅 CollectionChanged 事件
collection.CollectionChanged += Collection_CollectionChanged;
// 向集合中添加元素
collection.Add("item 1");
collection.Add("item 2");
collection.Add("item 3");
// 从集合中移除元素
collection.Remove("item 2");
// 清空集合
collection.Clear();
}
static void Collection_CollectionChanged(object sender, NotifyCollectionChangedEventArgs e)
{
if (e.Action == NotifyCollectionChangedAction.Add)
{
Console.WriteLine("元素已添加:");
foreach (string item in e.NewItems)
{
Console.WriteLine(item);
}
}
else if (e.Action == NotifyCollectionChangedAction.Remove)
{
Console.WriteLine("元素已移除:");
foreach (string item in e.OldItems)
{
Console.WriteLine(item);
}
}
else if (e.Action == NotifyCollectionChangedAction.Reset)
{
Console.WriteLine("集合已重置");
}
}
}
Tips
在 ObservableCollection 中,如果你更改了集合中的元素,例如修改了元素的属性,这将会触发 CollectionChanged 事件。文章来源:https://www.toymoban.com/news/detail-791847.html
但是如果你只是替换了集合中的元素(即通过索引直接赋值),这将不会触发 CollectionChanged 事件文章来源地址https://www.toymoban.com/news/detail-791847.html
到了这里,关于C# 关于当ObservableCollection增删查改元素时,触发事件用例的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!