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
事件,而是响应VectorChanged
事件(从ObservableVector
实现)。