private async void Page_Loaded(object sender, RoutedEventArgs e) { var singers = await Task.Factory.StartNew(() => { return(_singerService.GetHotSingersOfCount(10)); }); WpSinger.Children.Clear(); foreach (var singer in singers) { var ellipse = new Ellipse() { Fill = new ImageBrush((ConstantsUtil.APP_Directory + ConstantsUtil.DefaultSingerHeaderPath).ToImageSource(UriKind.Absolute)), Margin = new Thickness(40, 10, 40, 40) }; var singerBtn = new JmTransparentButton() { Content = singer.Name, Foreground = new SolidColorBrush(Colors.White), FontSize = 16, HorizontalAlignment = HorizontalAlignment.Center, VerticalAlignment = VerticalAlignment.Bottom, Margin = new Thickness(0, 0, 0, 10), Tag = singer.Id }; singerBtn.MouseEnter += SingerBtn_MouseEnter; singerBtn.MouseLeave += SingerBtn_MouseLeave; singerBtn.Click += SingerBtn_Click; var grid = new Grid() { Background = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#30FFFFFF")), Width = 180, Height = 150, Margin = new Thickness(0, 0, 15, 15) }; grid.Children.Add(ellipse); grid.Children.Add(singerBtn); WpSinger.Children.Add(grid); } }
private async void Page_Loaded(object sender, RoutedEventArgs e) { var singers = await Task.Factory.StartNew(() => { return(_searchService.Search(MusicRequestType.Singer, _singerName, 1)); }) as SingerSearchPageResult; Panel.Children.Clear(); singers.Results.ToList() .ForEach(s => { var ellipse = new Ellipse() { Width = 100, Height = 100, Fill = new ImageBrush((ConstantsUtil.APP_Directory + ConstantsUtil.DefaultSingerHeaderPath).ToImageSource(UriKind.Absolute)) }; var tb = new TextBlock() { Text = s.Name }; var btn = new JmTransparentButton() { Margin = new Thickness(0, 10, 10, 10), HorizontalContentAlignment = HorizontalAlignment.Center, Content = tb, Tag = s.Id }; btn.Click += SingerNameBtn_Click; var sp = new StackPanel() { Margin = new Thickness(20, 10, 20, 50), }; sp.Children.Add(ellipse); sp.Children.Add(btn); Panel.Children.Add(sp); }); }
private async void Page_Loaded(object sender, RoutedEventArgs e) { var albums = await Task.Factory.StartNew(() => { return(_searchService.Search(MusicRequestType.Album, _albumName, 1)); }) as AlbumSearchPageResult; Sp.Children.Clear(); albums.Results.ToList() .ForEach(s => { var header = new Image() { Source = ConstantsUtil.DefaultAlbumHeaderPath.ToImageSource() }; var albumNameBtn = new JmTransparentButton() { Content = s.Name, Tag = s.Id, }; albumNameBtn.Click += AlbumNameBtn_Click; var albumNameWp = new WrapPanel(); albumNameWp.Children.Add(albumNameBtn); var singerNameBtn = new JmTransparentButton() { Content = s.SingerName, Tag = s.SingerId, }; singerNameBtn.Click += SingerNameBtn_Click; var singerNameWp = new WrapPanel(); singerNameWp.Children.Add(singerNameBtn); var publishedDateTb = new TextBlock() { Foreground = new SolidColorBrush(Colors.Silver), Text = s.PublishedTime.ToShortDateString() }; var musicCountTb = new TextBlock() { Foreground = new SolidColorBrush(Colors.Silver), Text = $"{s.MusicCount}首" }; var colDef0 = new ColumnDefinition() { Width = new GridLength(0, GridUnitType.Auto), }; var colDef1 = new ColumnDefinition() { Width = new GridLength(2, GridUnitType.Star) }; var colDef2 = new ColumnDefinition() { Width = new GridLength(1, GridUnitType.Star) }; var colDef3 = new ColumnDefinition() { Width = new GridLength(1, GridUnitType.Star) }; var colDef4 = new ColumnDefinition() { Width = new GridLength(60, GridUnitType.Pixel) }; var grid = new Grid(); grid.ColumnDefinitions.Add(colDef0); grid.ColumnDefinitions.Add(colDef1); grid.ColumnDefinitions.Add(colDef2); grid.ColumnDefinitions.Add(colDef3); grid.ColumnDefinitions.Add(colDef4); grid.Children.Add(header); grid.Children.Add(albumNameWp); grid.Children.Add(singerNameWp); grid.Children.Add(publishedDateTb); grid.Children.Add(musicCountTb); Grid.SetColumn(header, 0); Grid.SetColumn(albumNameWp, 1); Grid.SetColumn(singerNameWp, 2); Grid.SetColumn(publishedDateTb, 3); Grid.SetColumn(musicCountTb, 4); Sp.Children.Add(grid); }); }
private async void LoadNewSongs() { WpNewSong.Children.Clear(); var newSongs = await Task.Factory.StartNew(() => { return(_musicService.GetLastestMusics(10)); }); foreach (var song in newSongs) { var image = new Image() { Width = 145, Height = 145, Stretch = Stretch.UniformToFill, Source = ConstantsUtil.DefaultMusicHeaderPath.ToImageSource(), }; var ceiling = new Rectangle() { Name = "Ceiling", Width = image.Width, Height = image.Height, Fill = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#30000000")), Visibility = Visibility.Hidden }; var playBtn = new JmTransparentButton() { Content = new TextBlock() { Text = "\ue60f", FontFamily = (FontFamily)FindResource("JM"), }, Tag = song.Id, Style = (Style)FindResource("PlayBtn") }; var imageGrid = new Grid() { Tag = song.Id }; imageGrid.Children.Add(image); imageGrid.Children.Add(ceiling); imageGrid.Children.Add(playBtn); imageGrid.MouseEnter += ImageGrid_MouseEnter; imageGrid.MouseLeave += ImageGrid_MouseLeave; imageGrid.MouseUp += Song_Click; playBtn.Click += Song_Click; var tbSong = new TextBlock() { Text = song.Name, Foreground = new SolidColorBrush(Colors.White), FontSize = 14, Margin = new Thickness(0, 10, 0, 10) }; var btn = new JmTransparentButton() { Content = tbSong, Tag = song.Id }; btn.Click += Song_Click; var tbSinger = new TextBlock() { Text = song.SingerName, Foreground = new SolidColorBrush(Colors.Silver), Tag = song.SingerId }; tbSinger.MouseUp += Singer_Click; var sp = new StackPanel() { Width = image.Width, Height = 250, Margin = new Thickness(0, 20, 15, 0) }; sp.Children.Add(imageGrid); sp.Children.Add(btn); sp.Children.Add(tbSinger); WpNewSong.Children.Add(sp); } }
/// <summary> /// 初始化页码 /// </summary> /// <param name="totalPageNumber"></param> /// <param name="currentPageNumber"></param> private void InitPageNumber(int totalPageNumber, int currentPageNumber) { if (totalPageNumber < currentPageNumber || currentPageNumber <= 0) { return; } SpPageNumber.Children.Clear(); const int MaxPageNumber = 6; if (currentPageNumber != 1) { var previousBtn = new JmTransparentButton() { Content = "<" }; previousBtn.Click += PreviousPageBtn_Click; SpPageNumber.Children.Add(previousBtn); } #region 页码显示规则 if (totalPageNumber <= MaxPageNumber) { Enumerable.Range(1, totalPageNumber).ToList() .ForEach(i => { var btn = new JmTransparentButton() { Content = i }; btn.Click += PageNumberBtn_Click; SpPageNumber.Children.Add(btn); }); } else if (currentPageNumber < MaxPageNumber - 1) { Enumerable.Range(1, MaxPageNumber).ToList() .ForEach(i => { var btn = new JmTransparentButton() { Content = i }; btn.Click += PageNumberBtn_Click; SpPageNumber.Children.Add(btn); }); SpPageNumber.Children.Add(new TextBlock() { Text = " … ", Foreground = new SolidColorBrush(Colors.White), VerticalAlignment = VerticalAlignment.Center }); var lastBtn = new JmTransparentButton() { Content = totalPageNumber }; lastBtn.Click += PageNumberBtn_Click; SpPageNumber.Children.Add(lastBtn); } else if (currentPageNumber > MaxPageNumber - 1 && totalPageNumber - currentPageNumber > MaxPageNumber - 3) { var fristBtn = new JmTransparentButton() { Content = 1 }; fristBtn.Click += PageNumberBtn_Click; SpPageNumber.Children.Add(fristBtn); SpPageNumber.Children.Add(new TextBlock() { Text = " … ", Foreground = new SolidColorBrush(Colors.White), VerticalAlignment = VerticalAlignment.Center }); Enumerable.Range(currentPageNumber - 1, MaxPageNumber - 2).ToList() .ForEach(i => { var btn = new JmTransparentButton() { Content = i }; btn.Click += PageNumberBtn_Click; SpPageNumber.Children.Add(btn); }); SpPageNumber.Children.Add(new TextBlock() { Text = " … ", Foreground = new SolidColorBrush(Colors.White), VerticalAlignment = VerticalAlignment.Center }); var lastBtn = new JmTransparentButton() { Content = totalPageNumber }; lastBtn.Click += PageNumberBtn_Click; SpPageNumber.Children.Add(lastBtn); } else { var fristBtn = new JmTransparentButton() { Content = 1 }; fristBtn.Click += PageNumberBtn_Click; SpPageNumber.Children.Add(fristBtn); SpPageNumber.Children.Add(new TextBlock() { Text = " … ", Foreground = new SolidColorBrush(Colors.White), VerticalAlignment = VerticalAlignment.Center }); Enumerable.Range(totalPageNumber - MaxPageNumber + 1, MaxPageNumber).ToList() .ForEach(i => { var btn = new JmTransparentButton() { Content = i }; btn.Click += PageNumberBtn_Click; SpPageNumber.Children.Add(btn); }); } #endregion if (currentPageNumber != totalPageNumber) { var nextBtn = new JmTransparentButton() { Content = ">" }; nextBtn.Click += NextPageBtn_Click; SpPageNumber.Children.Add(nextBtn); } foreach (var child in SpPageNumber.Children) { if (child is Button btn && btn.Content.Equals(currentPageNumber)) { btn.BorderBrush = btn.Foreground = new SolidColorBrush(Colors.SkyBlue); break; } } }