private void Window_KeyDown(object sender, KeyEventArgs e) { if (!pl.IsInitialized()) { return; } if (e.Key == Key.Delete) { var selectedItemIndexes = new List <int>(); foreach (var o in playlistBox.SelectedItems) { selectedItemIndexes.Add(playlistBox.Items.IndexOf(o)); } playlistBox.ItemsSource = pl.DeleteSongsFromPlaylist(selectedItemIndexes); int curpl = pl.CurrPlaying; while (curpl >= playlistBox.Items.Count) { curpl--; } playlistBox.SelectedItem = pl.Shuffle ? playlistBox.Items[pl.CurrPlaylingShuff] : playlistBox.Items[curpl]; e.Handled = true; } }