protected virtual void List_Tap(object sender, GestureEventArgs e) { LongListSelectorEx list = (LongListSelectorEx)sender; var selectedItem = list.SelectedItem as DACPElement; // Clear out the selected item list.SelectedItem = null; // Make sure a DACPElement was selected if (selectedItem == null) { return; } _lastTappedList = list; _lastTappedItem = selectedItem; // Determine whether a play button was tapped bool isPlayButton = false; var originalSource = e.OriginalSource as DependencyObject; if (originalSource != null) { isPlayButton = originalSource.GetVisualAncestors().AnyElementsWithName("PlayButton"); } OnListItemTap(selectedItem, list, isPlayButton); }
private void SearchResultsListBox_Tap(object sender, System.Windows.Input.GestureEventArgs e) { LongListSelectorEx list = (LongListSelectorEx)sender; var selectedItem = list.SelectedItem as DACPElement; // Clear out the selected item list.SelectedItem = null; // Make sure a DACPElement was selected if (selectedItem == null) { return; } _lastTappedItem = selectedItem; if (selectedItem is Album) { NavigationManager.OpenAlbumPage((Album)selectedItem); return; } if (selectedItem is Artist) { NavigationManager.OpenArtistPage((Artist)selectedItem); return; } if (selectedItem is Song) { Song song = (Song)selectedItem; if (CurrentServer.SupportsPlayQueue) { RemoteUtility.HandleLibraryPlayTask(song.PlayQueue()); return; } // Locate the Songs search result set var songsSection = (SongsSearchResultSection)CurrentSearchResults.First(sr => sr.ResultType == typeof(Song)); RemoteUtility.HandleLibraryPlayTask(songsSection.PlaySong(song)); } if (selectedItem is Movie) { RemoteUtility.HandleLibraryPlayTask(((Movie)selectedItem).Play()); return; } if (selectedItem is Podcast) { NavigationManager.OpenPodcastEpisodesPage((Podcast)selectedItem); return; } if (selectedItem is TVShow) { NavigationManager.OpenTVShowEpisodesPage((TVShow)selectedItem); return; } if (selectedItem is TVShowEpisode) { RemoteUtility.HandleLibraryPlayTask(((TVShowEpisode)selectedItem).Play()); return; } if (selectedItem is iTunesUCourse) { NavigationManager.OpeniTunesUCourseEpisodesPage((iTunesUCourse)selectedItem); return; } if (selectedItem is Audiobook) { NavigationManager.OpenAudiobookEpisodesPage((Audiobook)selectedItem); return; } }
public static AnimatorHelperBase GetListSelectorAnimation(this AnimatedBasePage page, LongListSelectorEx listSelector, AnimationType animationType) { if (listSelector.SelectedItem != null) { var contentPresenter = listSelector.SelectedContentPresenter; if (animationType == AnimationType.NavigateBackwardIn) { listSelector.SelectedItem = null; } if (contentPresenter != null) { return(page.GetContinuumAnimation(contentPresenter, animationType)); } } return(page.GetContinuumAnimation(page.AnimationContext, animationType)); }