我将一个BindingList对象绑定到了一个DataGridView,当对BindingList添加删除行的时候,DataGridView能即时得显示出来,这很好。但是当不通过DataGridView修改BindingList中某一项的属性的时候(比如在一个事件处理程序里直接修改),除非在DataGridView里选中这个单元格,不然DataGridView不会主动刷新,但我希望它能即时得刷新。看了下书,貌似是要求项对象要实现INotifyPropertyChange接口,我用的是vs2010,创建的windows窗口项目里找不到这个接口,不知道该引用哪个dll包。这问题该怎么解决?多谢大家

解决方案 »

  1.   


    初学winform,不懂“重新绑定一次”是什么意思,是通过这个方式人工的让控件重绘一遍吧,我想让每一项修改的时候自动通知控件,然后更新显示。简单绑定是有这功能的,绑定列表winform是不是应该也提供这功能了?
      

  2.   

    今天刚好遇到这个问题 ..传送门:
    http://msdn.microsoft.com/zh-cn/library/system.componentmodel.inotifypropertychanged.aspx
        public class UserList : INotifyPropertyChanged
        {
            .....略....        public string repCon { set { _repCon = value; NotifyPropertyChanged("repCon"); } get { return _repCon; } }
            public string status { set { _status = value; NotifyPropertyChanged("status"); } get { return _status; } }        public event PropertyChangedEventHandler PropertyChanged;        private void NotifyPropertyChanged(String info)
            {
                if (PropertyChanged != null)
                {
                    PropertyChanged(this, new PropertyChangedEventArgs(info));
                }
            }
            .....略....