设置了ListBox的绑定:
listbox1.ItemsSource = list;
在这种情况下,与listbox1的ItemsSource属性关联的Binding好像是null的。
那如何设置listbox1的SourceUpdated事件呢?因为要响应SourceUpdated事件,要求Binding的NotifyOnSourceUpdated属性值设置为true。可是Binding为null啊。该怎么设置呢?

解决方案 »

  1.   

    你确定你绑定的东西是实现了INotifyPropertyChanged的类吗?或者你绑定的List有没有搞定 INotifyCollectionChanged接口呢?
      

  2.   

    是的
    从你的问题来看,要设置SourceUpdated就直接绑定一个函数到上面就行了啊。另外没看到代码完全不知道你是神马问题
      

  3.   

    listbox1.ItemsSource = list; 这是绑定吗 另外List集合没有实现变更通知 可以用ObservervationCollection(没有提示器 拼不全呀) 集合  在对集合进行 增删会出发变更通知事件 从而会自动更新 不知道回答的是不是你所想问的。
    综上 你的问题可能是1:listbox1.ItemsSource = list 并没用到Binding语法 只是一般赋值
                       2: 绑定到List集合没有实现InotifyPropertyChange/InotifyCollectionChange接口 不会自动更新
      

  4.   

    listbox1.ItemsSource = list; 
    这不是绑定吗 ?我觉得应该是吧
      

  5.   

    listbox1.ItemsSource = list; 
    这不是绑定吗 ?我觉得应该是吧单纯的绑定是没有意义的,比如以下代码:
    List<String> strList = new List<String>();
    listBox1.ItemsSource = strList;因为你绑定的strList并没有实现 INotifyCollectionChanged 接口。
    而以下写法是可以使用的:
    ObservableCollection<String> strList = new ObservableCollection<String>();
    listBox1.ItemsSource = list;这个问题我以前也碰过,反正要么是没有用ObservableCollection,要么是泛类里的那个类没有实现INotifyPropertyChanged,再或者你实现了INotifyPropertyChanged但是没有调用OnPropertyChanged事件。对于实现了INotifyPropertyChanged但是没有实现INotifyCollectionChanged接口:修改的内容可以正确反应到目标ListBox中,但是对记录的添加和删除操作没有反应。对于实现了INotifyCollectionChanged接口但是没有实现INotifyPropertyChanged接口:添加和删除操作可以正确反应,但是对已经存在于列表中的记录的修改没有反应。对于两者都实现的情况:即可以反应新记录的添加,旧记录的删除,也可以修改现有的记录。如果实现了INotifyPropertyChanged接口,但是没有在属性修改时调用OnPropertyChanged方法,效果等同于没有实现INotifyPropertyChanged接口。
      

  6.   

    补充一下,ObservableCollection里有实现INotifyCollectionChanged接口。上文所述的三种情况应该是:讨论泛类:Colletion<T>中
    Collection有没有实现INotifyCollectionChanged,以及T中有没有实现INotifyPropertyChanged。    对于Collection有没有实现INotifyPropertyChanged接口没有限制,虽然说ObservableCollection是实现了,但是我试验了一下,如果自己写一个不实现的也可以用。但是如果这个类不实现INotifyPropertyChanged接口的话,类里面非列表的属性就无法绑定了。
      

  7.   

    我的问题好像和INotifyPropertyChanged接口、INotifyCollectionChanged接口无关吧
      

  8.   

    listbox1.ItemsSource = list; 
    这不是绑定吗 ?我觉得应该是吧
    数据绑定需要使用Binging吧 在XAML里可以以ItemsSource={Binding list} 或是在后台代码中声明
      

  9.   

    listbox1.ItemsSource = list; 
    这不是绑定吗 ?我觉得应该是吧
    数据绑定需要使用Binging吧 在XAML里可以以ItemsSource={Binding list} 或是在后台代码中声明
    那如果是写的:listbox1.ItemsSource = list;
    Binding是不是null呢?
      

  10.   

    如果Binding为null,那就不能使用与Binding有关的属性、事件等哦
      

  11.   

    到底是不是Null啊,我输不出呢?