private void NextExecuted(object sender, ExecutedRoutedEventArgs e) { if (this.currentTrack != null && this.trackList.Count > 1) { this.MyMediaElement.Stop(); this.trackList.Remove(this.currentTrack); if (this.MusicListBox.SelectedItem != null) { var albumD = this.albumCollection.SingleOrDefault( x => x != null && x.IsNotNull && x.AlbumNo == StringHelper.Left(this.currentTrack.TrackNo, 4)); ; ////albumD.IsPlaying = false; this.MusicListBox.Items.Refresh(); } if (this.trackList.Count > 0) { this.currentTrack = this.trackList[0]; this.MusicListBox.SelectedItem = this.albumCollection.SingleOrDefault( x => x != null && x.IsNotNull && x.AlbumNo == StringHelper.Left(this.currentTrack.TrackNo, 4)); //this.SongListBox.SelectedItem = // (this.MusicListBox.SelectedItem as AlbumDirectory).SongCollection.SingleOrDefault( // x => x.Track == Int32.Parse(StringHelper.Right(this.currentTrack.TrackNo, 2))); var song = (this.MusicListBox.SelectedItem as AlbumDirectory).SongCollection.SingleOrDefault( x => x.Track == Int32.Parse(StringHelper.Right(this.currentTrack.TrackNo, 2))); this.MyMediaElement.Source = new Uri(song.FileName); this.PlayingSongTextBlock.Text = song.Title; this.MyMediaElement.Play(); ////foreach (var directory in this.albumCollection) ////{ //// if (directory != null) //// { //// directory.IsPlaying = false; //// } ////} ////(this.MusicListBox.SelectedItem as AlbumDirectory).IsPlaying = true; this.MusicListBox.Items.Refresh(); this.NavigateToSelectedAlbum(this.MusicListBox.SelectedItem as AlbumDirectory); this.BindingToAlbumSelected(this.MusicListBox.SelectedItem as AlbumDirectory); } } if (e != null) { e.Handled = true; } }
private void SongListBox_MouseDoubleClick(object sender, MouseButtonEventArgs e) { var song = this.SongListBox.SelectedItem as Song; var album = this.MusicListBox.SelectedItem as AlbumDirectory; string index; if (song.Track > 0 && song.Track < 10) { index = album.AlbumNo + "0" + song.Track.ToString(); } else { index = album.AlbumNo + "0" + song.Track.ToString(); } // Ad all track by 00 track if (index == (album.AlbumNo + "00")) { if (this.trackList.Count == 0) { var song1 = album.SongCollection.SingleOrDefault(x => x.Track == 1); this.MyMediaElement.Source = new Uri(song1.FileName); this.PlayingSongTextBlock.Text = song1.Title; this.MyMediaElement.Play(); ////(this.MusicListBox.SelectedItem as AlbumDirectory).IsPlaying = true; this.MusicListBox.Items.Refresh(); this.currentTrack = new Track() { TrackNo = album.AlbumNo + "01", Album = (this.MusicListBox.SelectedItem as AlbumDirectory).AlbumName, Artist = (this.MusicListBox.SelectedItem as AlbumDirectory).ArtistName, SongName = song1.Title }; } foreach (var song1 in album.SongCollection) { if (song1.Track != 0) { var track1 = new Track() { Album = (this.MusicListBox.SelectedItem as AlbumDirectory).AlbumName, Artist = (this.MusicListBox.SelectedItem as AlbumDirectory).ArtistName, SongName = song1.Title }; string num; if (song.Track > 0 && song.Track < 10) { num = album.AlbumNo + "0" + song1.Track.ToString(); } else { num = album.AlbumNo + "0" + song1.Track.ToString(); } track1.TrackNo = num; this.trackList.Add(track1); } } PopupTextBlock.Text = string.Format("Add {0} Tracks to TrackList completed", album.SongCollection.Count - 1); } else { if (this.trackList.Count == 0) { this.MyMediaElement.Source = new Uri(song.FileName); this.PlayingSongTextBlock.Text = song.Title; this.MyMediaElement.Play(); ////foreach (var directory in this.albumCollection) ////{ //// if (directory != null) //// { //// directory.IsPlaying = false; //// } ////} ////(this.MusicListBox.SelectedItem as AlbumDirectory).IsPlaying = true; this.MusicListBox.Items.Refresh(); this.currentTrack = new Track() { TrackNo = index, Album = (this.MusicListBox.SelectedItem as AlbumDirectory).AlbumName, Artist = (this.MusicListBox.SelectedItem as AlbumDirectory).ArtistName, SongName = song.Title }; } this.trackList.Add(new Track() { TrackNo = index, Album = (this.MusicListBox.SelectedItem as AlbumDirectory).AlbumName, Artist = (this.MusicListBox.SelectedItem as AlbumDirectory).ArtistName, SongName = song.Title }); PopupTextBlock.Text = string.Format("Add {0} to TrackList completed", index); } if (this.PlayGrid.DataContext == null) { this.BindingToAlbumSelected(album); } if (popup1.IsOpen == false) { popup1.IsOpen = true; _timer.Start(); } this.TrackListBox.ItemsSource = this.trackList; }
void MainWindow_Loaded(object sender, RoutedEventArgs e) { albumCollection = new ObservableCollection<AlbumDirectory>(); string recentAlbumsFilePath = Directory.GetCurrentDirectory() + @"\Albums.xml"; if (File.Exists(recentAlbumsFilePath)) { var albums = Serializer<Albums>.DeserializeFromFile(recentAlbumsFilePath); this.albumCollection = new ObservableCollection<AlbumDirectory>(albums.AlbumDirectories); if (albums.TrackList != null && albums.TrackList.Count > 0) { this.trackList = new ObservableCollection<Track>(albums.TrackList); this.currentTrack = this.trackList[0]; var albumD = this.albumCollection.SingleOrDefault( x => x != null && x.IsNotNull && x.AlbumNo == StringHelper.Left(this.currentTrack.TrackNo, 4)); this.NavigateToSelectedAlbumAndSong(albumD); this.BindingToAlbumSelected(albumD); } else { this.MusicListBox.ItemsSource = albumCollection.Take(12); } this.TrackListBox.ItemsSource = this.trackList; this.AddToCollectionTopAlbumByGenre("Pop"); } }