GridView未订阅CollectionChanged事件

本文关键字:CollectionChanged 事件 GridView | 更新日期: 2023-09-27 18:29:35

我有一个自定义列表,如下所示:

public class MyCollection :   ICollection<Model>, 
                              ISupportIncrementalLoading, 
                              INotifyCollectionChanged, 
                              INotifyPropertyChanged

每当我想查看更新时,它都会引发CollectionChanged事件,例如:

public void Clear()
{
     InternalData.Clear();
     if (CollectionChanged != null)
     {
          CollectionChanged(this, new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Reset));
     }
}

我有一个GridView,其属性ItemsSource绑定到我的自定义集合。但是,虽然我的自定义集合中确实有数据(由于我的自定义IEnumerator<Model> GetEnumerator(),我可以使用"动态视图"字段浏览此数据),但事件CollectionChanged永远不会触发,因为它始终是null。就好像GridView没有订阅该事件一样。我不知道该怎么做才能强制GridView侦听此事件。

我在这里把一个工作样本放在了pastebin上:http://pastebin.com/01zS6yjP当GridView绑定到集合时,CollectionChanged事件始终是null事件。

GridView未订阅CollectionChanged事件

GridView不响应CollectionChanged事件,而是响应VectorChanged事件(从ObservableVector实现)。

相关文章:
  • 没有找到相关文章