public async void GetF101_top_n(string d1, string d2, int n) { var ch = Grid_F101_actives_page.Children.ToList(); foreach (var p in ch) { Grid_F101_actives_page.Children.RemoveAt(Grid_F101_actives_page.Children.IndexOf(p)); } int i = 0; GetF101_actives_top_n_List = await myAPI.GetF101_actives_top_n(d2, d1, n); List <F101_actives_top_n> bank_names = GetF101_actives_top_n_List .GroupBy(a => a.ShortName) .Select(g => g.First()) .ToList(); // Grid_F101_actives_page.ColumnDefinitions.Add(new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star) }); // Grid_F101_actives_page.ColumnDefinitions.Add(new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star) }); foreach (var x in bank_names) { List <F101_actives_top_n> L = GetF101_actives_top_n_List .Where(a => a.ShortName.Equals(x.ShortName)) .ToList(); float prev_val = 0; SKColor cl = SKColor.Empty; var entries1 = new List <Microcharts.Entry>(); foreach (var p in L) { if (p.Val >= prev_val) { cl = SKColor.Parse("#A8E10C"); } else { cl = SKColor.Parse("#FF5765"); } var entry = new Entry(p.Val) { //Label = p.Label, //ValueLabel = p.Val.ToString(), Color = cl, }; prev_val = p.Val; entries1.Add(entry); } var chart1 = new LineChart() { Entries = entries1, BackgroundColor = SKColor.Empty }; var chartView = new ChartView { Chart = chart1 }; Grid_F101_actives_page.RowDefinitions.Add(new RowDefinition { Height = new GridLength(100) }); var _1 = new Label { Text = "№ " + (i + 1).ToString() + (char)10 + x.ShortName + (char)10 + Math.Round(prev_val / 1000000000, 1).ToString() + " млрд.руб." }; Grid_F101_actives_page.Children.Add(_1, 0, i); Grid_F101_actives_page.Children.Add(chartView, 1, i); i++; } Grid_F101_actives_page.RowDefinitions.Add(new RowDefinition { Height = new GridLength(100) }); Grid_F101_actives_page.Children.Add(_picker1, 0, i + 1); }