private void PlayListAlbumImageShowListBox_MouseDoubleClick(object sender, MouseButtonEventArgs e) { ListBoxItem item = Helper.UIhelper.FindPrent <ListBoxItem>((DependencyObject)e.OriginalSource); //myCollectionView.MoveCurrentTo(item); if (item == null) { return; } UserSongList.ScrollIntoView(item.DataContext); UserSongList.SelectedItem = item.DataContext; PlayListBase.PlayListIndex = UserSongList.SelectedIndex + 1; PlayListBase.PlayAndExceptionPass(); }
private void Page_Loaded(object sender, RoutedEventArgs e) { PlayListBase.PlayingChanged += OnPlayingChanged; UserSongList.ItemsSource = PlayListBase.PlayListSongs; PlayListAlbumImageShowListBox.ItemsSource = PlayListBase.PlayListSongs; if (PlayListBase.PlayListTotal <= 0) { return; } UserSongList.SelectedItem = PlayListBase.PlayListSongs[PlayListBase.PlayListIndex - 1]; UserSongList.ScrollIntoView(UserSongList.SelectedItem); if (t1 == null) { t1 = new Timer(delegate { //用于等待项的生成 Dispatcher.Invoke((ThreadStart) delegate { SongInfoExpend sinfoEx = PlayListBase.PlayListSongs[PlayListBase.PlayListIndex - 1]; ListBoxItem item = (ListBoxItem)UserSongList.ItemContainerGenerator.ContainerFromItem(sinfoEx); if (item == null) { return; } item.ContentTemplate = CurInstance.Resources["PlayListItemSelectedDataTemplate"] as DataTemplate; if (CurInstance.BeforPlayItem != null) { CurInstance.BeforPlayItem.ContentTemplate = CurInstance.Resources["PlayListItemDataTemplate"] as DataTemplate; } CurInstance.BeforPlayItem = item; }); }, null, 500, Timeout.Infinite); } else { t1.Change(500, Timeout.Infinite); } PlayListAlbumImageShowListBox.SelectedItem = PlayListBase.PlayListSongs[PlayListBase.PlayListIndex - 1]; PlayListAlbumImageShowListBox.ScrollViewToCur(PlayListAlbumImageShowListBox.SelectedItem); // myCollectionView = (CollectionView)CollectionViewSource.GetDefaultView(PlayListAlbumImageShowListBox.ItemsSource); // myCollectionView.MoveCurrentToFirst(); }