private void updateAlbumsButton_Click(object sender, RoutedEventArgs e) { var curAlbum = albums.GetSelectedAlbum(); KeyValuePair<string, string>[] selectedTracks = null; selectedTracks = albums.GetSelectedTracksForAlbum(); bool isAlbumPlaying = curAlbum != null ? albums.GetSelectedAlbum().playlist == playlist : false; listAlbumBox.Items.Clear(); tracksCountAlbumLabel.Content = "0 треків"; albums = new Albums(); albums.DownloadAlbums(new string[] { sett.UserId, sett.VKToken }); FillAlbums(albums); if (curAlbum != null) { var index = Array.IndexOf(albums.GetAlbumsIds(), curAlbum.Id, 0); albumsCombobox.SelectedIndex = index; albumsCombobox_SelectionChanged(null, null); curAlbum = albums.GetSelectedAlbum(); tracksCountAlbumLabel.Content = curAlbum.playlist.Count() + " треків"; } else if (albums.Count() > 0) { albumsCombobox.SelectedIndex = 0; albumsCombobox_SelectionChanged(null, null); curAlbum = albums.GetSelectedAlbum(); tracksCountAlbumLabel.Content = albums.GetSelectedAlbum().playlist.Count() + " треків"; } if (selectedTracks != null) albums.SetSelectedTracksForAlbum(selectedTracks); if (curAlbum != null) FillListBox(albums.GetSelectedAlbum().playlist, listAlbumBox, false, true, false); else listAlbumBox.Items.Clear(); if (curAlbum != null) listAlbumBox.SelectedIndex = albums.GetSelectedAlbum().playlist.SelTrack; if (isAlbumPlaying) playlist = albums.GetSelectedAlbum().playlist; }