日期:2014-05-17 浏览次数:21523 次
你可以用BindingList<T>,前提是这个T必须实现INotifyPropertyChanged接口。
T必须实现INotifyPropertyChanged接口
INotifyPropertyChanged是为了实现当List<T>或ObservableCollection<T>中的值变化时,能实时在UI显示,我的问题就是,当他通知UI说值已经变化的时候,同时通知一下我(或我用什么方法截取到),好让我触发其他的事件?
using System;
using System.Collections.ObjectModel;
using System.ComponentModel;
namespace ConsoleApplication1
{
class Program
{
private static ObservableCollection<DataType> List = new ObservableCollection<DataType>();
static void Main(string[] args)
{
List.CollectionChanged += List_CollectionChanged;
List.Add(new DataType { Fa = "aaa", Fb = 1 });
List.Add(new DataType { Fa = "bbb", Fb = 2 });
List.Add(new DataType { Fa = "ccc", Fb = 3 });
List.Add(new DataType { Fa = "ddd", Fb = 4 });
List[3].Fb += 100; //这个对象修改时,可以在方法obj_PropertyChanged中捕获。
Console.ReadKey();
&n