GridView不订阅CollectionChanged事件

时间:2013-08-30 13:59:34

标签: c# xaml gridview mvvm windows-runtime

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

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永远不会被触发,因为它总是{{ 1}}。就像null没有订阅该事件一样。我不知道如何强制GridView收听此事件。

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

1 个答案:

答案 0 :(得分:0)

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

相关问题