public TrackDetails() { selectedTrack = StartPage.SelectedTrack; InitializeComponent(); SystemNavigationManager.GetForCurrentView().AppViewBackButtonVisibility = AppViewBackButtonVisibility.Visible; _startPage = Window.Current.Content as StartPage; if (_startPage == null) return; _streamPlayer = _startPage.MediaElement; if (selectedTrack == null || _streamPlayer == null) return; if (!selectedTrack.id.Equals(StartPage.CurrentTrack.id)) { StartPage.CurrentTrack = selectedTrack.DeepcopyTrack(); _streamPlayer.Source = new Uri(selectedTrack.stream_url); if (!_loaded) { CreateTimer(); _loaded = true; } else { StartPage.AudioTimer?.Stop(); CreateTimer(); } _streamPlayer.Play(); _startPage?.SetPlayButton(_play); TrackButtonPlayImage.Source = StartPage.ImageFromRelativePath(this, "Assets/pause27.png"); } else { StartPage.AudioTimer?.Stop(); CreateTimer(); } _startPage.TrackInfo.Text = selectedTrack.title; BorderBrushDetails.ImageSource = new BitmapImage(new Uri(selectedTrack.background_url)); TrackDetailsMain.DataContext = selectedTrack; ArtworkImage.Source = new BitmapImage(new Uri(selectedTrack.artwork_url)); ArtistImage.Source = new BitmapImage(new Uri(selectedTrack.user.avatar_url)); BitmapTransform(selectedTrack.waveform_url); _totalTime = selectedTrack.duration; AudioSlider.Maximum = _totalTime; AudioSlider.DataContext = _streamPlayer.Source; FollowArtist.Text = (selectedTrack.user.following ? "follow" : "unfollow"); }