任何变量发生变化时触发一个事件
答
没有这种能力,除非你自己编写代码或使用一些超级高级代码检测工具。
我建议你使用属性而不是字段(除非你实际上是指局部变量?)并实现INotifyPropertyChanged
接口。
答
很好的方法有很多,但是我用的是这样的wheneever事件被触发它会做类似下面的操作可观测collectionchanged事件......
static void ObservableEmployees_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
{
switch (e.Action)
{
case NotifyCollectionChangedAction.Add:
Console.WriteLine("New item {0} added in the collection",e.NewItems[0].ToString());
break;
case NotifyCollectionChangedAction.Remove:
Console.WriteLine("Old item {0} removed in the collection", e.OldItems[0].ToString());
break;
case NotifyCollectionChangedAction.Move:
Console.WriteLine("item {0} is moved", e.NewItems[0].ToString());
break;
case NotifyCollectionChangedAction.Replace:
Console.WriteLine("item{0} is replacced by item{1}.", e.OldItems[0].ToString(), e.NewItems[0].ToString());
break;
case NotifyCollectionChangedAction.Reset:
Console.WriteLine("itme{0} is reset.", e.OldItems[0].ToString());
break;
}
和认购..
observableEmployees = new ObservableCollection<Employee>();
observableEmployees.CollectionChanged += ObservableEmployees_CollectionChanged;
你做了什么? – exexzian 2013-02-13 14:22:50
我在我的电脑前坐了一个小时想着解决方案。 – 2013-02-13 14:55:40