/// <summary> /// 模型绑定 /// </summary> private void ModelBinding() { GroupCollection = new ObservableCollection <groupModel>(); foreach (DataRow dr in well_group.Rows) { groupModel groupModel = new groupModel(); groupModel.WATER_WELL = dr[0].ToString(); groupModel.OIL_WELL_Col = dr[2].ToString().Split(',').ToList(); GroupCollection.Add(groupModel); } }
/// <summary> /// 油井拖放事件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void WaterWellDrop(object sender, DragEventArgs e) { IDataObject oildata = e.Data; RoundButton water_button = e.Source as RoundButton; if (oildata.GetDataPresent(typeof(RoundButton))) { RoundButton oil_button = oildata.GetData(typeof(RoundButton)) as RoundButton; groupModel model = GroupCollection.Single(x => x.WATER_WELL == water_button.Uid); List <string> oil_collection = model.OIL_WELL_Col; oil_collection.Add(oil_button.Uid); var result = MessageBox.Show("是否要将此油井添加到目标井组?", "提示", MessageBoxButton.YesNo, MessageBoxImage.Question); if (result == MessageBoxResult.Yes) { foreach (OilDependenceModel j in MenuCollection) { if (j.OIL_WELL == oil_button.Uid) { MenuItem mi = new MenuItem(); mi.Header = water_button.Uid; mi.Uid = water_button.Uid; MenuItem Comm = new MenuItem(); Comm.Header = "移出井组"; Comm.Click += OilWellRemove; mi.Items.Add(Comm); j.WATER_WELL_COL.Add(mi); } } foreach (groupModel i in GroupCollection) { if (i.WATER_WELL == water_button.Uid) { i.OIL_WELL_Col = oil_collection; MessageBox.Show("添加成功!"); break; } } } else { return; } } }
/// <summary> /// 井组选中变色 /// </summary> /// <param name="water_well_id"></param> private void ChangeColor(string water_well_id) { groupModel model = GroupCollection.Single(x => x.WATER_WELL == water_well_id); List <string> oil_list = model.OIL_WELL_Col; foreach (UIElement item in myConvas.Children) { if (item is Label) { continue; } RoundButton roundButton = item as RoundButton; if (roundButton.FillColor == Brushes.White) { roundButton.FillColor = Brushes.Black; } string[] oils = oil_list.ToArray(); if (Array.IndexOf(oils, roundButton.Uid) >= 0) { roundButton.FillColor = Brushes.White; } } }