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); } }