private void Update() { //StackPanel Col0 = new StackPanel(); //StackPanel Col1 = new StackPanel(); //StackPanel Col2 = new StackPanel(); //Grid.SetColumn(Col0, 0); //Grid.SetColumn(Col1, 1); //Grid.SetColumn(Col2, 2); //_toClear.ForEach(x => LayoutRoot.Children.Remove(x)); Col0.Children.Clear(); Col1.Children.Clear(); Col2.Children.Clear(); var doc = DocumentManager.CurrentDocument; //---------------------------------图表1-------------------------------------------------- var chart1 = ChartHelper.GetChart("图1: 资本投资 vs 支出限度", ChartHelper.ColumnSeries("资本投资", Enumerable.Range(doc.City.C02 + 2, 5).Select(x => new { Key = x.ToString(), Value = NaNto0(_basket.P20A[x]) }).ToArray(), Brushes.Purple), ChartHelper.ColumnSeries("现有支出", Enumerable.Range(doc.City.C02 + 2, 5).Select(x => new { Key = x.ToString(), Value = NaNto0(_basket.C8B[x]) }).ToArray(), Brushes.YellowGreen), ChartHelper.LineSeries("支出限额", Enumerable.Range(doc.City.C02 + 2, 5).Select(x => new { Key = x.ToString(), Value = NaNto0(_basket.C8A[x]) }).ToArray(), Brushes.Red)); _toClear.Add(chart1); Col0.Children.Add(chart1); //---------------------------------图表2-------------------------------------------------- var chart2 = ChartHelper.GetChart("图2:需贷款额度 vs 还债能力", ChartHelper.ColumnSeries("新增贷款年还债", Enumerable.Range(doc.City.C02 + 2, 5).Select(x => new { Key = x.ToString(), Value = NaNto0(_basket.P22A[x]) }).ToArray(), Brushes.Orange), ChartHelper.ColumnSeries("现有年还债能力", Enumerable.Range(doc.City.C02 + 2, 5).Select(x => new { Key = x.ToString(), Value = NaNto0(_basket.C7C[x]) }).ToArray(), Brushes.Navy), ChartHelper.LineSeries("估算最大年还债", Enumerable.Range(doc.City.C02 + 2, 5).Select(x => new { Key = x.ToString(), Value = NaNto0(_basket.C8E[x]) }).ToArray(), Brushes.Red)); _toClear.Add(chart2); Col0.Children.Add(chart2); //---------------------------------总表-------------------------------------------------- YearwiseTable tableP20 = new YearwiseTable { SectionNumber = "", Title = "5年计划", Brush_TitleCell = Brushes.Silver, Brush_Title = Brushes.DarkRed }; tableP20.Rows.Add("P20A", _basket.P20A); tableP20.Rows.Add("P20B", _basket.P20B); tableP20.Rows.Add("P20C", _basket.P20C); tableP20.Rows.Add("P20D", _basket.P20D); tableP20.Rows.Add("P20E", _basket.P20E); tableP20.Rows.Add("P20F", _basket.P20F); tableP20.Rows.Add("P20G", _basket.P20G); Enumerable.Range(2, 5).ToList().ForEach(x => tableP20.Years.Add(new YearDefinition(x, false, true))); tableP20.Years.Add(YearDefinition.Sum); tableP20.Render(); _toClear.Add(tableP20); Col1.Children.Add(tableP20); YearwiseTable tableP21 = new YearwiseTable { SectionNumber = "", Title = "", Brush_TitleCell = Brushes.Silver, Brush_Title = Brushes.DarkRed }; tableP21.Rows.Add("GC8A", _basket.C8A); tableP21.Rows.Add("GC8B", _basket.C8B); tableP21.Rows.Add("GC8C", _basket.C8C_1); tableP21.Rows.Add("GC7C", _basket.C7C); tableP21.Rows.Add("P22A", _basket.P22A); tableP21.Rows.Add("GC8E", _basket.C8E); Enumerable.Range(2, 5).ToList().ForEach(x => tableP21.Years.Add(new YearDefinition(x, false, true))); tableP21.Years.Add(YearDefinition.Sum); tableP21.Render(); _toClear.Add(tableP21); Col1.Children.Add(tableP21); //---------------------------------分表-------------------------------------------------- foreach (var proj in _basket.Projects) { YearwiseTable table = new YearwiseTable { SectionNumber = "", Title = proj.P1A, Brush_TitleCell = Brushes.Navy, Brush_Title = Brushes.White }; table.Rows.Add("P20A", proj.P20A); table.Rows.Add("P20B", proj.P20B); table.Rows.Add("P20C", proj.P20C); table.Rows.Add("P20D", proj.P20D); table.Rows.Add("P20E", proj.P20E); table.Rows.Add("P20F", proj.P20F); table.Rows.Add("P22A", proj.P22A); Enumerable.Range(2, 5).ToList().ForEach(x => table.Years.Add(new YearDefinition(x, false, true))); table.Years.Add(YearDefinition.Sum); table.Render(); _toClear.Add(table); Col2.Children.Add(table); } //cvs.Height = new List<StackPanel> { Col0, Col1, Col2 }.Max(x => x.ActualHeight); // 为什么AcutalHeight都为0? //var h = new List<StackPanel> { Col0, Col1, Col2 }.Max(x => x.RenderSize.Height); }
public List <StackPanel> Update() { List <StackPanel> panel = Enumerable.Range(0, 3).Select(x => new StackPanel()).ToList(); //var Col0 = new StackPanel(); //var Col1 = new StackPanel(); //var Col2 = new StackPanel(); //Pager.Slides.Clear(); //Pager.Slides.Add(Col0); //Pager.Slides.Add(Col1); //Pager.Slides.Add(Col2); //Pager.ReadyControl(_slidePos); var doc = DocumentManager.CurrentDocument; //---------------------------------图表1-------------------------------------------------- var chart1 = ChartHelper.GetMyChart("图1: 资本投资 vs 支出限度", ChartHelper.MyColumnSeries("现有支出", Enumerable.Range(doc.City.C02 + 1, 5).Select(x => new KeyValuePair <string, double>(x.ToString(), NaNto0(_basket.C8B[x]))).ToArray(), StackedChart.BuildGradient(Colors.YellowGreen)), ChartHelper.MyColumnSeries("资本投资", Enumerable.Range(doc.City.C02 + 1, 5).Select(x => new KeyValuePair <string, double>(x.ToString(), NaNto0(_basket.P20A[x]))).ToArray(), StackedChart.BuildGradient(Color.FromRgb(153, 51, 102))), ChartHelper.MyLineSeries("支出限额", Enumerable.Range(doc.City.C02 + 1, 5).Select(x => new KeyValuePair <string, double>(x.ToString(), NaNto0(_basket.C8D[x]))).ToArray(), Brushes.Red)); panel[0].Children.Add(chart1); //Col0.Children.Add(chart1); //---------------------------------图表2-------------------------------------------------- var chart2 = ChartHelper.GetMyChart("图2:需贷款额度 vs 还债能力", ChartHelper.MyColumnSeries("现有支出", Enumerable.Range(doc.City.C02 + 1, 5).Select(x => new KeyValuePair <string, double>(x.ToString(), NaNto0(_basket.C7C[x]))).ToArray(), StackedChart.BuildGradient(Color.FromRgb(23, 55, 94))), ChartHelper.MyColumnSeries("资本投资", Enumerable.Range(doc.City.C02 + 1, 5).Select(x => new KeyValuePair <string, double>(x.ToString(), NaNto0(_basket.P22A[x]))).ToArray(), StackedChart.BuildGradient(Colors.Orange)), ChartHelper.MyLineSeries("估算最大年还债", Enumerable.Range(doc.City.C02 + 1, 5).Select(x => new KeyValuePair <string, double>(x.ToString(), NaNto0(_basket.C8E[x]))).ToArray(), Brushes.Red)); panel[0].Children.Add(chart2); //Col0.Children.Add(chart2); //---------------------------------总表-------------------------------------------------- YearwiseTable tableP20 = new YearwiseTable { SectionNumber = "", Title = "5年计划", Brush_TitleCell = Brushes.Silver, Brush_Title = Brushes.DarkRed }; tableP20.Rows.Add("P20G", _basket.P20G); tableP20.Rows.Add("P20A", _basket.P20A); tableP20.Rows.Add("P20B", _basket.P20B); tableP20.Rows.Add("P20C", _basket.P20C); tableP20.Rows.Add("P20D", _basket.P20D); tableP20.Rows.Add("P20E", _basket.P20E); tableP20.Rows.Add("P20F", _basket.P20F); Enumerable.Range(1, 5).ToList().ForEach(x => tableP20.Years.Add(new YearDefinition(x, false, true))); tableP20.Years.Add(YearDefinition.Sum); tableP20.Render(); panel[1].Children.Add(tableP20); //Col1.Children.Add(tableP20); YearwiseTable tableP21 = new YearwiseTable { SectionNumber = "", Title = "", Brush_TitleCell = Brushes.Silver, Brush_Title = Brushes.DarkRed }; tableP21.Rows.Add("GC8A", _basket.C8D); tableP21.Rows.Add("GC8B", _basket.C8B); tableP21.Rows.Add("GC8C", _basket.C8C_1); tableP21.Rows.Add("GC7C", _basket.C7C); tableP21.Rows.Add("P22A", _basket.P22A); tableP21.Rows.Add("GC8E", _basket.C8E); Enumerable.Range(1, 5).ToList().ForEach(x => tableP21.Years.Add(new YearDefinition(x, false, true))); tableP21.Years.Add(YearDefinition.Sum); tableP21.Render(); panel[1].Children.Add(tableP21); //Col1.Children.Add(tableP21); //---------------------------------分表-------------------------------------------------- foreach (var proj in _basket.Projects) { YearwiseTable table = new YearwiseTable { SectionNumber = "", Title = proj.P1A, Brush_TitleCell = Brushes.Navy, Brush_Title = Brushes.White }; table.Rows.Add("P20A", proj.P20A); table.Rows.Add("P20B", proj.P20B); table.Rows.Add("P20C", proj.P20C); table.Rows.Add("P20D", proj.P20D); table.Rows.Add("P20E", proj.P20E); table.Rows.Add("P20F", proj.P20F); table.Rows.Add("P22A", proj.P22A); Enumerable.Range(1, 5).ToList().ForEach(x => table.Years.Add(new YearDefinition(x, false, true))); table.Years.Add(YearDefinition.Sum); table.Render(); panel[2].Children.Add(table); //Col2.Children.Add(table); } return(panel); }
private List <UIElement> GetLayout() { List <UIElement> panel = new List <UIElement>(); Document doc = DocumentManager.CurrentDocument; panel.Add(new TextBlock { Text = "LOCAL GOVERNMENT BUDGET FORECAST / 当地政府预算预测", Foreground = Brushes.DarkRed, FontWeight = FontWeights.Bold, Margin = new Thickness(0, 20, 0, 0) }); YearwiseTable tableC6 = new YearwiseTable { SectionNumber = "1.6", Title = "当地政府债务" }; tableC6.Rows.Add("C6A", doc.City.C6A); tableC6.Rows.Add("C6B", doc.City.C6B); tableC6.Rows.Add("C6C", doc.City.C6C); tableC6.Rows.Add("C6D", doc.City.C6D); tableC6.Rows.Add("C6E", doc.City.C6E); tableC6.Rows.Add("C6F", doc.City.C6F); Enumerable.Range(-3, 4).ToList().ForEach(x => tableC6.Years.Add(new YearDefinition(x, false, false))); Enumerable.Range(1, 10).ToList().ForEach(x => tableC6.Years.Add(new YearDefinition(x, false, true))); tableC6.Render(); panel.Add(tableC6); YearwiseTable tableC7 = new YearwiseTable { SectionNumber = "1.7", Title = "当地政府支出" }; tableC7.Rows.Add("C7A", doc.City.C7A); tableC7.Rows.Add("C7B", doc.City.C7B); tableC7.Rows.Add("C7C", doc.City.C7C); tableC7.Rows.Add("C7D", doc.City.C7D); Enumerable.Range(-3, 4).ToList().ForEach(x => tableC7.Years.Add(new YearDefinition(x, false, false))); Enumerable.Range(1, 10).ToList().ForEach(x => tableC7.Years.Add(new YearDefinition(x, false, true))); tableC7.Render(); panel.Add(tableC7); YearwiseTable tableC8 = new YearwiseTable { SectionNumber = "1.8", Title = "总投资能力" }; tableC8.Rows.Add("C8A", doc.City.C8A); tableC8.Rows.Add("C8B", doc.City.C8B); tableC8.Rows.Add("C8C", doc.City.C8C); tableC8.Rows.Add("C8D", doc.City.C8D); tableC8.Rows.Add("C8E", doc.City.C8E); Enumerable.Range(-3, 4).ToList().ForEach(x => tableC8.Years.Add(new YearDefinition(x, false, false))); Enumerable.Range(1, 10).ToList().ForEach(x => tableC8.Years.Add(new YearDefinition(x, false, true))); tableC8.Render(); panel.Add(tableC8); panel.Add(new TextBlock { Text = "ASSUMPTIONS / 预算预测假设", Foreground = Brushes.DarkRed, FontWeight = FontWeights.Bold, Margin = new Thickness(0, 20, 0, 0) }); YearwiseTable tableC9 = new YearwiseTable { SectionNumber = "1.9", Title = "宏观经济数据假设" }; tableC9.Rows.Add("C9A", doc.City.C9A); tableC9.Rows.Add("C9B", doc.City.C9B); Enumerable.Range(-3, 4).ToList().ForEach(x => tableC9.Years.Add(new YearDefinition(x, true, false))); Enumerable.Range(1, 10).ToList().ForEach(x => tableC9.Years.Add(new YearDefinition(x, true, true))); tableC9.SetPercentageRows("C9A", "C9B"); tableC9.Render(); tableC9.UserInput += (sender, e) => UpdateData(); panel.Add(tableC9); PropertyTable tableC10 = new PropertyTable { SectionNumber = "1.10", Title = "商业贷款条件假设", Brush_TitleCell = Brushes.DarkRed, Margin = new Thickness(0, 0, 0, 0) }; tableC10.Rows.Add("C10A", Tuple.Create <object, object>(doc.City, 0.0)); tableC10.Rows.Add("C10B", Tuple.Create <object, object>(doc.City, 0.0)); tableC10.SetPercentageRows("C10A"); tableC10.Render(); tableC10.UserInput += (sender, e) => UpdateData(); panel.Add(tableC10); PropertyTable tableC11 = new PropertyTable { SectionNumber = "1.11", Title = "优惠贷款条件假设", Brush_TitleCell = Brushes.DarkRed }; tableC11.Rows.Add("C11A", Tuple.Create <object, object>(doc.City, 0.0)); tableC11.Rows.Add("C11B", Tuple.Create <object, object>(doc.City, 0.0)); tableC11.SetPercentageRows("C11A"); tableC11.Render(); tableC11.UserInput += (sender, e) => UpdateData(); panel.Add(tableC11); PropertyTable tableC12 = new PropertyTable { SectionNumber = "1.12", Title = "当地税收征管假设", Brush_TitleCell = Brushes.DarkRed }; tableC12.Rows.Add("C12A", Tuple.Create <object, object>(doc.City, 0.0)); tableC12.Rows.Add("C12B", Tuple.Create <object, object>(doc.City, 0.0)); tableC12.Rows.Add("C12C", Tuple.Create <object, object>(doc.City, 0.0)); tableC12.SetPercentageRows("C12A", "C12C"); tableC12.Render(); tableC12.UserInput += (sender, e) => UpdateData(); panel.Add(tableC12); PropertyTable tableC13 = new PropertyTable { SectionNumber = "1.13", Title = "汇率假设(兑美元)", Brush_TitleCell = Brushes.DarkRed }; tableC13.Rows.Add("C13A", Tuple.Create <object, object>(doc.City, 0.0)); tableC13.Render(); tableC13.UserInput += (sender, e) => UpdateData(); panel.Add(tableC13); PropertyTable tableC14 = new PropertyTable { SectionNumber = "1.14", Title = "投资预算和债务清偿假设", Brush_TitleCell = Brushes.DarkRed }; tableC14.Rows.Add("C14A", Tuple.Create <object, object>(doc.City, 0.0)); tableC14.Rows.Add("C14B", Tuple.Create <object, object>(doc.City, 0.0)); tableC14.SetPercentageRows("C14A", "C14B"); tableC14.Render(); tableC14.UserInput += (sender, e) => UpdateData(); panel.Add(tableC14); PropertyTable tableC15 = new PropertyTable { SectionNumber = "1.15", Title = "收入预测假设", Brush_TitleCell = Brushes.DarkRed }; tableC15.Rows.Add("C15A_1", Tuple.Create <object, object>(doc.City, 0.0)); tableC15.Rows.Add("C15A_2", Tuple.Create <object, object>(doc.City, 0.0)); tableC15.Rows.Add("C15B_1", Tuple.Create <object, object>(doc.City, 0.0)); tableC15.Rows.Add("C15B_2", Tuple.Create <object, object>(doc.City, 0.0)); tableC15.Rows.Add("C15C_1", Tuple.Create <object, object>(doc.City, 0.0)); tableC15.Rows.Add("C15C_2", Tuple.Create <object, object>(doc.City, 0.0)); tableC15.Rows.Add("C15D_1", Tuple.Create <object, object>(doc.City, 0.0)); tableC15.Rows.Add("C15D_2", Tuple.Create <object, object>(doc.City, 0.0)); tableC15.Rows.Add("C15E_1", Tuple.Create <object, object>(doc.City, 0.0)); tableC15.Rows.Add("C15E_2", Tuple.Create <object, object>(doc.City, 0.0)); tableC15.SetPercentageTable(); tableC15.Render(); tableC15.UserInput += (sender, e) => UpdateData(); panel.Add(tableC15); PropertyTable tableC16 = new PropertyTable { SectionNumber = "1.16", Title = "支出预测假设", Brush_TitleCell = Brushes.DarkRed }; tableC16.Rows.Add("C16A_1", Tuple.Create <object, object>(doc.City, 0.0)); tableC16.Rows.Add("C16A_2", Tuple.Create <object, object>(doc.City, 0.0)); tableC16.Rows.Add("C16B_1", Tuple.Create <object, object>(doc.City, 0.0)); tableC16.Rows.Add("C16B_2", Tuple.Create <object, object>(doc.City, 0.0)); tableC16.Rows.Add("C16C_1", Tuple.Create <object, object>(doc.City, 0.0)); tableC16.Rows.Add("C16C_2", Tuple.Create <object, object>(doc.City, 0.0)); tableC16.SetPercentageTable(); tableC16.Render(); tableC16.UserInput += (sender, e) => UpdateData(); panel.Add(tableC16); //---------------------------------图表-------------------------------------------------- panel.Add(ChartHelper.GetChart("BUDGET FORECAST: REVENUES VERSUS EXPENDITURES", ChartHelper.ColumnSeries("经营性支出", Enumerable.Range(doc.City.C02 + 1, 5).Select(x => new { Key = x.ToString(), Value = doc.City.C8B[x] }).ToArray(), Brushes.YellowGreen), ChartHelper.LineSeries("经营性收入", Enumerable.Range(doc.City.C02 + 1, 5).Select(x => new { Key = x.ToString(), Value = doc.City.C8A[x] }).ToArray(), Brushes.Red))); panel.Add(new TextBlock { Text = "LOCAL GOVERNMENT BUDGET FORECAST / 当地政府预算预测", Foreground = Brushes.DarkRed, FontWeight = FontWeights.Bold, Margin = new Thickness(0, 20, 0, 0) }); Button btnFinancial = new Button { Content = "点击以转到城市评估", Width = 200, HorizontalAlignment = HorizontalAlignment.Left }; btnFinancial.Click += (sender, e) => NavigationManager.Navigate("CityPage.xaml"); panel.Add(btnFinancial); _tables = new List <IUpdateTable> { tableC6, tableC7, tableC8 }; return(panel); }
public List <StackPanel> GetPages() { List <StackPanel> panel = Enumerable.Range(0, 7).Select(x => new StackPanel()).ToList(); Document doc = DocumentManager.CurrentDocument; //panel[0].Children.Add(new TextBlock { Text = "LOCAL GOVERNMENT BUDGET FORECAST / 当地政府预算预测", Foreground = Brushes.DarkRed, FontWeight = FontWeights.Bold }); YearwiseTable tableC6 = new YearwiseTable { SectionNumber = "1.6", Title = "当地政府收入 Local Government Revenues" }; tableC6.Rows.Add("C6A", doc.City.C6A); tableC6.Rows.Add("C6B", doc.City.C6B); tableC6.Rows.Add("C6C", doc.City.C6C); tableC6.Rows.Add("C6D", doc.City.C6D); tableC6.Rows.Add("C6E", doc.City.C6E); tableC6.Rows.Add("C6F", doc.City.C6F); Enumerable.Range(-3, 4).ToList().ForEach(x => tableC6.Years.Add(new YearDefinition(x, false, false))); Enumerable.Range(1, 10).ToList().ForEach(x => tableC6.Years.Add(new YearDefinition(x, false, true))); tableC6.Render(); panel[0].Children.Add(tableC6); YearwiseTable tableC7 = new YearwiseTable { SectionNumber = "1.7", Title = "当地政府支出 Local Government Expenditures" }; tableC7.Rows.Add("C7A", doc.City.C7A); tableC7.Rows.Add("C7B", doc.City.C7B); tableC7.Rows.Add("C7C", doc.City.C7C); tableC7.Rows.Add("C7D", doc.City.C7D); Enumerable.Range(-3, 4).ToList().ForEach(x => tableC7.Years.Add(new YearDefinition(x, false, false))); Enumerable.Range(1, 10).ToList().ForEach(x => tableC7.Years.Add(new YearDefinition(x, false, true))); tableC7.Render(); panel[0].Children.Add(tableC7); YearwiseTable tableC8 = new YearwiseTable { SectionNumber = "1.8", Title = "总投资能力 Summary Investment Capacity" }; tableC8.Rows.Add("C8A", doc.City.C8A); tableC8.Rows.Add("C8B", doc.City.C8B); tableC8.Rows.Add("C8C", doc.City.C8C); tableC8.Rows.Add("C8D", doc.City.C8D); tableC8.Rows.Add("C8E", doc.City.C8E); Enumerable.Range(-3, 4).ToList().ForEach(x => tableC8.Years.Add(new YearDefinition(x, false, false))); Enumerable.Range(1, 10).ToList().ForEach(x => tableC8.Years.Add(new YearDefinition(x, false, true))); tableC8.Render(); panel[1].Children.Add(tableC8); //panel[2].Children.Add(new TextBlock { Text = "ASSUMPTIONS / 预算预测假设", Foreground = Brushes.DarkRed, FontWeight = FontWeights.Bold }); YearwiseTable tableC9 = new YearwiseTable { SectionNumber = "1.9", Title = "宏观经济数据假设 Assumptions Macro-Economic Data" }; tableC9.Rows.Add("C9A", doc.City.C9A); tableC9.Rows.Add("C9B", doc.City.C9B); Enumerable.Range(-3, 4).ToList().ForEach(x => tableC9.Years.Add(new YearDefinition(x, true, false))); Enumerable.Range(1, 10).ToList().ForEach(x => tableC9.Years.Add(new YearDefinition(x, true, true))); tableC9.SetPercentageRows("C9A", "C9B"); tableC9.Render(); tableC9.UserInput += (sender, e) => UpdateData(); panel[2].Children.Add(tableC9); PropertyTable tableC10 = new PropertyTable { SectionNumber = "1.10", Title = "商业贷款条件假设 Assumptions Loan Conditions Commercial Lending", Brush_TitleCell = FindResource("gradient_red") as Brush }; tableC10.Rows.Add("C10A", Tuple.Create <object, object>(doc.City, 0.0)); tableC10.Rows.Add("C10B", Tuple.Create <object, object>(doc.City, 0.0)); tableC10.SetPercentageRows("C10A"); tableC10.Render(); tableC10.UserInput += (sender, e) => UpdateData(); panel[2].Children.Add(tableC10); PropertyTable tableC11 = new PropertyTable { SectionNumber = "1.11", Title = "优惠贷款条件假设 Assumptions Loan Conditions Preferential Lending", Brush_TitleCell = FindResource("gradient_red") as Brush }; tableC11.Rows.Add("C11A", Tuple.Create <object, object>(doc.City, 0.0)); tableC11.Rows.Add("C11B", Tuple.Create <object, object>(doc.City, 0.0)); tableC11.SetPercentageRows("C11A"); tableC11.Render(); tableC11.UserInput += (sender, e) => UpdateData(); panel[2].Children.Add(tableC11); PropertyTable tableC12 = new PropertyTable { SectionNumber = "1.12", Title = "当地税收征管假设 Local Tax Collection", Brush_TitleCell = FindResource("gradient_red") as Brush }; tableC12.Rows.Add("C12A", Tuple.Create <object, object>(doc.City, 0.0)); tableC12.Rows.Add("C12B", Tuple.Create <object, object>(doc.City, 0.0)); tableC12.Rows.Add("C12C", Tuple.Create <object, object>(doc.City, 0.0)); tableC12.SetPercentageRows("C12A", "C12C"); tableC12.Render(); tableC12.UserInput += (sender, e) => UpdateData(); panel[3].Children.Add(tableC12); PropertyTable tableC13 = new PropertyTable { SectionNumber = "1.13", Title = "汇率假设(兑美元) Assumptions Exchange Rate (to USD)", Brush_TitleCell = FindResource("gradient_red") as Brush }; tableC13.Rows.Add("C13A", Tuple.Create <object, object>(doc.City, 0.0)); tableC13.Render(); tableC13.UserInput += (sender, e) => UpdateData(); panel[3].Children.Add(tableC13); PropertyTable tableC14 = new PropertyTable { SectionNumber = "1.14", Title = "投资预算和债务清偿假设 Assumptions Investment Budget & Debt Service", Brush_TitleCell = FindResource("gradient_red") as Brush }; tableC14.Rows.Add("C14A", Tuple.Create <object, object>(doc.City, 0.0)); tableC14.Rows.Add("C14B", Tuple.Create <object, object>(doc.City, 0.0)); tableC14.SetPercentageRows("C14A", "C14B"); tableC14.Render(); tableC14.UserInput += (sender, e) => UpdateData(); panel[3].Children.Add(tableC14); PropertyTable tableC15 = new PropertyTable { SectionNumber = "1.15", Title = "收入预测假设 Assumptions Revenue Forecast", Brush_TitleCell = FindResource("gradient_red") as Brush }; tableC15.Rows.Add("C15A_1", Tuple.Create <object, object>(doc.City, 0.0)); tableC15.Rows.Add("C15A_2", Tuple.Create <object, object>(doc.City, 0.0)); tableC15.Rows.Add("C15B_1", Tuple.Create <object, object>(doc.City, 0.0)); tableC15.Rows.Add("C15B_2", Tuple.Create <object, object>(doc.City, 0.0)); tableC15.Rows.Add("C15C_1", Tuple.Create <object, object>(doc.City, 0.0)); tableC15.Rows.Add("C15C_2", Tuple.Create <object, object>(doc.City, 0.0)); tableC15.Rows.Add("C15D_1", Tuple.Create <object, object>(doc.City, 0.0)); tableC15.Rows.Add("C15D_2", Tuple.Create <object, object>(doc.City, 0.0)); tableC15.Rows.Add("C15E_1", Tuple.Create <object, object>(doc.City, 0.0)); tableC15.Rows.Add("C15E_2", Tuple.Create <object, object>(doc.City, 0.0)); tableC15.SetPercentageTable(); tableC15.Render(); tableC15.UserInput += (sender, e) => UpdateData(); panel[4].Children.Add(tableC15); PropertyTable tableC16 = new PropertyTable { SectionNumber = "1.16", Title = "支出预测假设 Assumptions Expenditure Forecast", Brush_TitleCell = FindResource("gradient_red") as Brush }; tableC16.Rows.Add("C16A_1", Tuple.Create <object, object>(doc.City, 0.0)); tableC16.Rows.Add("C16A_2", Tuple.Create <object, object>(doc.City, 0.0)); tableC16.Rows.Add("C16B_1", Tuple.Create <object, object>(doc.City, 0.0)); tableC16.Rows.Add("C16B_2", Tuple.Create <object, object>(doc.City, 0.0)); tableC16.Rows.Add("C16C_1", Tuple.Create <object, object>(doc.City, 0.0)); tableC16.Rows.Add("C16C_2", Tuple.Create <object, object>(doc.City, 0.0)); tableC16.SetPercentageTable(); tableC16.Render(); tableC16.UserInput += (sender, e) => UpdateData(); panel[4].Children.Add(tableC16); //---------------------------------图表-------------------------------------------------- panel[5].Children.Add(ChartHelper.GetChart("BUDGET FORECAST: REVENUES VERSUS EXPENDITURES", ChartHelper.ColumnSeries("经营性支出", Enumerable.Range(doc.City.C02 + 1, 5).Select(x => new { Key = x.ToString(), Value = doc.City.C8B[x] }).ToArray(), Brushes.YellowGreen), ChartHelper.LineSeries("经营性收入", Enumerable.Range(doc.City.C02 + 1, 5).Select(x => new { Key = x.ToString(), Value = doc.City.C8A[x] }).ToArray(), Brushes.Red))); panel[6].Children.Add(new TextBlock { Text = "CITY BASIC / 城市基本数据", Foreground = Brushes.DarkRed, FontWeight = FontWeights.Bold }); Button btnFinancial = new Button { Content = "点击以转到城市评估", Width = 200, HorizontalAlignment = HorizontalAlignment.Left }; btnFinancial.Click += (sender, e) => NavigationManager.Navigate("RichCityPage.xaml"); panel[6].Children.Add(btnFinancial); //Button btnProj = new Button { Content = "点击以转到项目评估", Width = 200, HorizontalAlignment = HorizontalAlignment.Left }; //btnProj.Click += (sender, e) => NavigationManager.Navigate("RichCityPage.xaml"); //panel[6].Children.Add(btnProj); _tables = new List <IUpdateTable> { tableC6, tableC7, tableC8 }; return(panel); }