private void txtEditBox_LostFocus(object sender, RoutedEventArgs e) { ListBoxItem lbi = ((TextBox)sender).TemplatedParent as ListBoxItem; string result = SwitchEditingMode(lbi, false); Guid targetGUID = (lb_PlaylistMenu.SelectedItem as Playlist).GUID; if (result != oriPlaylistName) { TrackListsViewModel trackListsVM = lb_PlaylistMenu.DataContext as TrackListsViewModel; trackListsVM.UpdatePlaylistName(targetGUID, result); TracksViewModel tracksVM = lv_Playlist.DataContext as TracksViewModel; tracksVM.UpdatePlaylistInfo(targetGUID, result); lb_PlaylistMenu.UpdateLayout(); } oriPlaylistName = ""; // Reset }
private void RefreshPlaylistContent() { TracksViewModel tracksVM = lv_Playlist.DataContext as TracksViewModel; if (tracksVM == null) { return; } TrackListsViewModel trackListsVM = lb_PlaylistMenu.DataContext as TrackListsViewModel; if (trackListsVM == null) { return; } Playlist pl = trackListsVM.CurrentPlaylist; if (pl == null) { lv_Playlist.Visibility = Visibility.Hidden; return; } tracksVM.UpdatePlaylistInfo(pl); tracksVM.UpdateSoundtracks(pl); lv_Playlist.ItemsSource = tracksVM.Soundtracks as IEnumerable <TrackInfo>; // Update info Properties.Settings.Default.LastSelectedPlaylistGUID = pl.GUID; Properties.Settings.Default.Save(); // Show playing track if (lb_PlaylistMenu.SelectedItem != null && ListContentIsRefreshedEvent != null) { if (Properties.Settings.Default.TaskPlaylistGUID == pl.GUID) { tracksVM.UpdateTrackStatus(ListContentIsRefreshedEvent()); } } }