protected override void ModelChanged() { base.ModelChanged(); Model.ShowHeaders = true; Model.CellFor += (item) => { if (item is Song) { return new SongSearchCell { BindingContext = item } } ; return(null); }; Model.CellForHeader += (header) => new HeaderCell { Title = header }; Model.ItemSelected += ModelOnItemSelected; } async void ModelOnItemSelected(object sender, EventArgs <MediaItemBase> eventArgs) { var song = eventArgs.Data as Song; if (song != null) { return; } TableView.DeselectAll(this); if (eventArgs.Data == null) { return; } var album = eventArgs.Data as Album; if (album != null) { var vc = new AlbumDetailViewController().View; vc.Album = album; Parent.NavigationController.Push(vc); return; } var onlineArtist = eventArgs.Data as OnlineArtist; if (onlineArtist != null) { // var vc = new OnlineArtistDetailsViewController // { // Artist = onlineArtist, // }; // this.NavigationController.PushViewController(vc, true); return; } var artist = eventArgs.Data as Artist; if (artist != null) { // var vc = new ArtistDetailViewController // { // Artist = artist, // }; // this.NavigationController.PushViewController(vc,true); return; } var onlineRadio = eventArgs.Data as OnlineRadioStation; if (onlineRadio != null) { using (new Spinner("Creating Station")) { var statsion = await MusicManager.Shared.CreateRadioStation(onlineRadio); await PlaybackManager.Shared.Play(statsion); } return; } var radio = eventArgs.Data as RadioStation; if (radio != null) { return; } var onlinePlaylist = eventArgs.Data as OnlinePlaylist; if (onlinePlaylist != null) { // var vc = new OnlinePlaylistViewController() // { // Playlist = onlinePlaylist, // }; // this.NavigationController.PushViewController(vc, true); return; } App.ShowNotImplmented(); } }
public async Task Download(Track track) { App.ShowNotImplmented(); }