aとof の間の関係を実装するためにSQLiteNet-Extensionsを使用しています。OneToMany
Playlist
IList
Track
現時点では、ライブラリでサポートされているコレクション タイプはList
と 配列のみです (ライブラリをIList
as として許可するように変更しました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
それとも、これで完全に間違った方向に進んでいますか?