private StackPanel CreateRadioButton(Radio.RadioFull radio, bool shadow = true) { StackPanel stack = new StackPanel { Width = 105, Height = 125, DataContext = radio, Background = new SolidColorBrush(Colors.White), Margin = new Thickness(3), Cursor = Cursors.Hand }; Label NameRadiostation = new Label { Content = radio.Name, Uid = radio.Name, Width = 105, HorizontalAlignment = HorizontalAlignment.Center, VerticalAlignment = VerticalAlignment.Bottom, HorizontalContentAlignment = HorizontalAlignment.Center, FontSize = 14 }; Grid LabelGrid = new Grid { Width = 105 }; LabelGrid.Children.Add(NameRadiostation); if (Favorite.Coincidence(FavoriteRadio, radio.Name) && shadow) { LabelGrid.Background = (Brush)this.TryFindResource("BottomGradientRadio"); } Image cover = new Image { Margin = new Thickness(0, 7, 0, 0), Width = 90, Height = 90, Source = new BitmapImage(new Uri(radio.Picture)), Uid = radio.Name }; cover.PreviewMouseLeftButtonDown += Grid_PreviewMouseLeftButtonDown; LabelGrid.MouseEnter += LabelGrid_MouseEnter; LabelGrid.MouseLeave += LabelGrid_MouseLeave; LabelGrid.PreviewMouseLeftButtonDown += LabelGrid_PreviewMouseLeftButtonDown; stack.Children.Add(cover); stack.Children.Add(LabelGrid); stack.MouseLeave += Grid_MouseLeave; stack.MouseEnter += Grid_MouseEnter; return(stack); }
private void PlayRadio(Image panel) { Radio.RadioFull station = (GetData.GetParentStack(panel) as StackPanel).DataContext as Radio.RadioFull; station = GetStations.GetStream((panel.DataContext as Radio.RadioFull).Url, station); if (station != null) { StationJanre.Content = $"[{ station.Janre}]"; StationNameLabel.Content = station.Name; StationNameLabel.Uid = station.WhoPlay; StationCoverImage.ImageSource = new BitmapImage(new Uri(station.Picture)); StationWhoPlayLabel.Content = GetTrack.Get(station.WhoPlay); StationWhoPlayLabel.Uid = station.WhoPlay; FirstQualityButton.IsEnabled = true; FirstQualityButton.Background = (Brush)this.TryFindResource("GeneralColor"); FirstQualityButton.Content = station.QualityStream[0]; FirstQualityButton.Uid = station.Stream[0]; PlayGrid.DataContext = station; SecondQualityButton.IsEnabled = true; if (station.QualityStream[1] != null) { SecondQualityButton.Content = station.QualityStream[1]; SecondQualityButton.Uid = station.Stream[1]; } else { SecondQualityButton.Content = "-"; SecondQualityButton.IsEnabled = false; } FirstQualityButton.Background = (Brush)this.TryFindResource("GeneralColor"); SecondQualityButton.Background = new SolidColorBrush(Colors.WhiteSmoke); bool found = Favorite.Coincidence(FavoriteRadio, station.Name); if (found) { FavoriteRadioButton.Source = new BitmapImage(new Uri("pack://application:,,/Resources/Icons/pl_start_fav.png")); FavoriteRadioButton.Uid = "1"; } else { FavoriteRadioButton.Source = new BitmapImage(new Uri("pack://application:,,/Resources/Icons/pl_star.png")); FavoriteRadioButton.Uid = "0"; } PlayMusic(station.Stream[0]); } }
private void LabelGrid_MouseEnter(object sender, MouseEventArgs e) { Radio.RadioFull radio = (GetData.GetParentStack(sender as Grid) as StackPanel).DataContext as Radio.RadioFull; WrapPanel panel = GetData.GetWrapPanel(sender); Label label = (sender as Grid).Children[0] as Label; (sender as Grid).Background = null; if (Favorite.Coincidence(FavoriteRadio, radio.Name)) { label.Content = (String)this.TryFindResource("Delete"); } else { label.Content = (String)this.TryFindResource("ToFavorite"); } }
private void LabelGrid_MouseLeave(object sender, MouseEventArgs e) { Radio.RadioFull radio = (GetData.GetParentStack(sender as Grid) as StackPanel).DataContext as Radio.RadioFull; WrapPanel panel = GetData.GetWrapPanel(sender); Label label = (sender as Grid).Children[0] as Label; if (panel != null && radio != null) { if (panel.Name.IndexOf("Favorite_Radio_Wrap") == -1 && Favorite.Coincidence(FavoriteRadio, radio.Name)) { (sender as Grid).Background = (Brush)this.TryFindResource("BottomGradientRadio"); } else { (sender as Grid).Background = null; } label.Content = radio.Name; } }