public void Initalize() { LookupDictionary.Clear(); PlaybackQueue = new ObservableCopyCollection <PlayQueueEntryViewModel, PlayQueueEntryModel>(rootModel.PlaybackQueue, (playQueueEntryModel) => { return(new PlayQueueEntryViewModel(playQueueEntryModel)); }); foreach (PlayQueueEntryViewModel model in PlaybackQueue) { LookupDictionary.Add(model.RowId, model); } int currentPosition = 1; foreach (PlayQueueEntryViewModel model in PlaybackQueue) { model.TotalPosition = currentPosition; currentPosition++; } PlaybackQueue.CollectionChanged += HandlePlaybackQueueCollectionChanged; CurrentTrack = LibraryViewModel.Current.LookupSongById(rootModel.NowPlaying); }
public PlaylistViewModel(PlaylistModel model) : base(model) { _songs = new ObservableCopyCollection <PlaylistEntryViewModel, PlaylistEntryModel>(model.Songs, (playlistEntryModel) => { return(new PlaylistEntryViewModel(playlistEntryModel)); }); Songs.CollectionChanged += HandleSongsCollectionChanged; model.PropertyChanged += HandleRootModelPropertyChanged; }