我正在使用SQLiteNet-Extensions来实现a和 an ofOneToMany之间的关系。PlaylistIListTrack
目前,库唯一支持的集合类型是List和数组(我将库更改为允许IList作为 a List)。
现在,我希望能够在我的曲目集合被修改(添加、删除、清除)时收到通知,但ObservableCollection图书馆不允许(而且我也不想过多地更改图书馆)。这意味着我正在尝试重新创建ObservableCollection如下:
class ObservableIList<T> : IList<T>, INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
private void OnPropertyChanged(string propertyName)
{
if (PropertyChanged != null)
{
PropertyChanged(this,
new PropertyChangedEventArgs(propertyName));
}
}
private List<T> list = new List<T>();
public void Add(T item)
{
list.Add(item);
OnPropertyChanged("magical property name");
}
....
}
所以我Playlist看起来如下:
class Playlist
{
[PrimaryKey, AutoIncrement]
public int Id { get; set; }
public string Title { get; set; }
[Indexed]
public Boolean isCurrent { get; set; }
[OneToMany]
public ObservableIList<Track> Tracks { get; set; }
}
这似乎应该可以工作,除了我不知道propertyName在Track向我的ObservableList?
还是我在这方面走错了路?