数组有changed事件, 你可以捕获。
解决方案 »
- VS调试模式和直接运行exe的结果不同
- 求一段 能实现 播放 暂停 停止 下一首 歌曲的 Winform 代码
- xheditor开源编辑器ajax上传功能的完善(精通aspx会看php进)
- c# RegisterHotKey注册Win键,help
- 大家帮看看,是在是找不到什么地方有问题~ 谢谢了
- 求 C# 日汉字转成假名(平假名和片假名)的方法!!
- 刚建C#(.net)群一个,欢迎大家进来交流
- visual studio 2005 开发工具问题
- 请问SqlDataAdapter能不能处理回滚?
- 如何做个应用程序如flashget,foxmail那样做出单文档界面?
- 我自己做了个网站,但是上传FXP后网站出错了!!!求救,急!
- double.NaN
你是不是想在PropertyChange里知道是哪个Key对应的Item有了改动?
如果是,继承一下PropertyChangeEventArgs即可 public class PropertyChangedEventArgsEx : PropertyChangedEventArgs
{
public PropertyChangedEventArgsEx(string propName, int key, object value)
:base(propName)
{
PropKey = key;
PropValue = value;
}
public int PropKey { get; private set; }
public object PropValue { get; private set; }
} public class DataItemList : INotifyPropertyChanged
{
Dictionary<int, object> m_data = new Dictionary<int, object>(); [STAThread]
static void Main(string[] args)
{
DataItemList dl = new DataItemList();
dl.PropertyChanged += (s, e) =>
{
PropertyChangedEventArgsEx pce = e as PropertyChangedEventArgsEx;
if (pce != null)
{
Console.WriteLine("Name:{0},Key:{1},Value:{2}", pce.PropertyName, pce.PropKey, pce.PropValue);
}
};
dl[1] = "123";
dl[2] = "456";
/*-------------------输出-----------------
Name:Items,Key:1,Value:123
Name:Items,Key:2,Value:456
----------------------------------------*/
}
public object this[int index]
{
get { return m_data[index]; }
set
{
m_data[index] = value; if (PropertyChanged != null)
{
PropertyChangedEventArgsEx pce = new PropertyChangedEventArgsEx("Items",index,value);
PropertyChanged(this, pce);
}
}
} public event PropertyChangedEventHandler PropertyChanged;
}