1

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

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绑定到我的自定义集合。但是,虽然我的自定义集合中确实有数据(并且由于我的 custom ,我可以使用 Dynamic View 字段浏览这些数据IEnumerator<Model> GetEnumerator()),但该事件CollectionChanged永远不会被触发,因为它总是null. 就像GridView不订阅事件一样。我不知道我能做些什么来强制 GridView 监听这个事件。

我在 pastebin 上放了一个工作示例:http://pastebin.com/01zS6yjP绑定到集合时, 该CollectionChanged事件始终是事件。nullGridView

4

1 回答 1

0

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

于 2013-09-19T07:28:31.563 回答