我目前在 UWP 中有一个类,它是一堆不同类型列表的包装器,包括我构建的自定义列表。这个包装器需要绑定到某种列表,ListView、ListBox、GridView 等。
问题是当我试图实现时INotifyCollectionChanged,似乎 UI 元素没有将处理程序附加到CollectionChanged或PropertyChanged处理程序(处理程序总是null)。但是,将列表从我的自定义列表更改为 anObservableCollection似乎工作正常。我错过了什么让 UI 将其集合绑定到我的班级?
我目前的实现看起来像
public class MyWrapperList<T> : IList<T>, INotifyPropertyChanged, INotifyCollectionChanged
{
private IEnumerable<T> _source;
// Implement all interfaces here, including my custom GetEnumerator() and all my add, insert, remove, etc classes
}
请注意,我不想像ObservableCollection许多其他答案所建议的那样继承,因为我希望这是一个查看原始列表的包装器。
编辑:您可以在 GitHub 上找到可重现的问题示例:https : //github.com/nolanblew/SampleCollectionChanged/
慕哥6287543
相关分类