private void DeleteSong_Click(object sender, RoutedEventArgs e) { string playlistName = Title.Text; List <Song> PlaylistSongs = new List <Song>(); var Indexes = listOfSongs.SelectedRanges; List <Song> Mainlist = listOfSongs.DataContext as List <Song>; var reversedIndexes = Indexes.Reverse(); foreach (var index in reversedIndexes) { int firstindex = index.FirstIndex; int lastindex = index.LastIndex; Mainlist.RemoveRange(firstindex, (int)index.Length); } PlayList playList = new PlayList(); playList.Name = playlistName; playList.songs = Mainlist; playList.WriteToFileAsync(); listOfSongs.DataContext = null; listOfSongs.DataContext = Mainlist; }