/// <summary> /// 图像生成 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void GenerateClick(object sender, RoutedEventArgs e) { iso.Children.Clear(); string name = (e.Source as Button).Content.ToString(); List <KeyValuePair <string, KeyValuePair <double, Point> > > targetPoints = new List <KeyValuePair <string, KeyValuePair <double, Point> > >(); for (int i = 0; i < this.dataGrid.Items.Count; i++) { if (!(dataGrid.Items[i] is TPJData dm)) { continue; } string zb_x = wells_ZB.Select("JH='" + dm.JH.ToString() + "'")[0]["ZB_X"].ToString(); string zb_y = wells_ZB.Select("JH='" + dm.JH.ToString() + "'")[0]["ZB_Y"].ToString(); targetPoints.Add(new KeyValuePair <string, KeyValuePair <double, Point> >(dm.JH.ToString(), new KeyValuePair <double, Point>(Math.Round(double.Parse(dm.AWI.ToString())), new Point(double.Parse(zb_x), double.Parse(zb_y))))); } Graphic.Isogram isogram = new Graphic.Isogram(name, 25) { TargetPoints = targetPoints }; scaleTimes.DataContext = isogram; KeyValuePair <double, double> range = isogram.GraphicGeneration(out double step); //value_min.Content = range.Value; //value_max.Content = range.Key; //iso_step.Content = Math.Round(step, 5); iso.Children.Add(isogram); }
private async void RadioButton_Checked(object sender, RoutedEventArgs e) { string name = (e.Source as Button).Content.ToString(); int count = string.IsNullOrEmpty(this.line_count.Text) ? 25 : int.Parse(this.line_count.Text); string colname = string.Empty; switch (name) { case "井距": colname = "JJJYD"; break; case "相位": colname = "XWJJD"; break; case "综合": colname = "WSCD"; break; } iso.Children.Clear(); List <KeyValuePair <string, KeyValuePair <double, Point> > > targetPoints = new List <KeyValuePair <string, KeyValuePair <double, Point> > >(); foreach (DataRow i in wsd_table.Rows) { targetPoints.Add(new KeyValuePair <string, KeyValuePair <double, Point> >(i[0].ToString(), new KeyValuePair <double, Point>(double.Parse(i[colname].ToString()), new Point(double.Parse(i["ZBX"].ToString()), double.Parse(i["ZBY"].ToString()))))); } Graphic.Isogram isogram = new Graphic.Isogram(name, count) { TargetPoints = targetPoints }; scaleTimes.DataContext = isogram; KeyValuePair <double, double> range = isogram.GraphicGeneration(out double step); //value_min.Content = range.Value; //value_max.Content = range.Key; //iso_step.Content = Math.Round(step, 5); iso.Children.Add(isogram); }