我有一个自定义列表,如下所示:
public class MyCollection : ICollection<Model>,
ISupportIncrementalLoading,
INotifyCollectionChanged,
INotifyPropertyChanged
它引发了
CollectionChanged
每当我想查看要更新的事件时,例如:public void Clear()
{
InternalData.Clear();
if (CollectionChanged != null)
{
CollectionChanged(this, new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Reset));
}
}
我有一个
GridView
谁的属性(property)ItemsSource
绑定(bind)到我的自定义集合。但是,虽然我的自定义集合中确实有数据(并且由于我的自定义 IEnumerator<Model> GetEnumerator()
,我可以使用动态 View 字段浏览这些数据),但事件 CollectionChanged
永远不会被解雇,因为它总是 null
.就像 GridView
不订阅该事件。我不知道我能做些什么来强制 GridView 监听这个事件。我在 pastebin 上放了一个工作示例:http://pastebin.com/01zS6yjP
CollectionChanged
事件总是 null
GridView
时的事件绑定(bind)到集合。
最佳答案
GridView
不回复 CollectionChanged
事件,但到 VectorChanged
事件(从 ObservableVector
实现)。
关于c# - GridView 不订阅 CollectionChanged 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18534770/