private async void AlbumControl_ItemClick(object sender, ItemClickEventArgs e) { LoadingControl.IsLoading = true; var Result = await NetEaseMusic.GetAlbumAsync((e.ClickedItem as SearchAlbum).ID); LoadingControl.IsLoading = false; await Task.Delay(500); Image image = ((AlbumControl.ContainerFromItem(e.ClickedItem) as ListViewItem).ContentTemplateRoot as FrameworkElement).FindName("AlbumImage") as Image; ConnectedAnimationService.GetForCurrentView().PrepareToAnimate("ToAlbumAnimation", image).Configuration = new BasicConnectedAnimationConfiguration(); ConnectedAnimationService.GetForCurrentView().DefaultDuration = TimeSpan.FromMilliseconds(500); MusicPage.ThisPage.MusicNav.Navigate(typeof(MusicAlbum), Result, new SlideNavigationTransitionInfo() { Effect = SlideNavigationTransitionEffect.FromRight }); }
protected override void OnNavigatedTo(NavigationEventArgs e) { MusicNav = (Frame)e.Parameter; switch (PivotControl.SelectedIndex) { case 1: { try { ConnectedAnimation animation = ConnectedAnimationService.GetForCurrentView().GetAnimation("BackAnimation"); if (animation != null) { animation.Configuration = new DirectConnectedAnimationConfiguration(); Image image = ((SingerControl.ContainerFromIndex(SingerControl.SelectedIndex) as ListViewItem).ContentTemplateRoot as FrameworkElement).FindName("SingerImage") as Image; animation.TryStart(image); } } catch (Exception) { } break; } case 2: { try { ConnectedAnimation animation = ConnectedAnimationService.GetForCurrentView().GetAnimation("AlbumBackAnimation"); if (animation != null) { animation.Configuration = new DirectConnectedAnimationConfiguration(); Image image = ((AlbumControl.ContainerFromIndex(AlbumControl.SelectedIndex) as ListViewItem).ContentTemplateRoot as FrameworkElement).FindName("AlbumImage") as Image; animation.TryStart(image); } } catch (Exception) { } break; } } }
/// <summary> Инициализация дополнительных компонентов (загрузка контролов и их привязка к табам) </summary> private void InitializeComponentEx() { _groupsControl = new GroupsControl(_database) //загрузка контролов { Dock = DockStyle.Fill //заполнит форму }; tabPage1.Controls.Add(_groupsControl); //привязка к табам _songControl = new SongControl(_database) { Dock = DockStyle.Fill }; tabPage2.Controls.Add(_songControl); _albumControl = new AlbumControl(_database) { Dock = DockStyle.Fill }; tabPage3.Controls.Add(_albumControl); }