private void DrawLine(MDF_ConnectItemModel from, MDF_ConnectItemModel to) { if (from == null || to == null) { return; } MDF_Line line = CreateLine(new MDF_ConnectLineModel() { From = from.Key, To = to.Key }); if (line == null) { return; } ComputeLineInfo(line); if (LineSource == null) { LineSource = new ObservableCollection <MDF_ConnectLineModel>(); } LineSource.Add(line.DataContext as MDF_ConnectLineModel); SelectedItem = null; this.UpdateLayout(); }
private void ChangeSelectedDraw(MDF_ConnectItemModel to, MDF_ConnectItemModel from) { if (AllowDraw) { DrawLine(from, to); } }
/// <summary> /// 根据下标添加Grid /// </summary> /// <param name="item"></param> /// <returns></returns> private Grid CreateGrid(MDF_ConnectItemModel item) { if (!m_dicgrid.ContainsKey(item.RealColumnIndex)) { gridMain.ColumnDefinitions.Add(new ColumnDefinition()); Grid grd = new Grid(); grd.SetBinding(Grid.ColumnProperty, new Binding() { Source = item, Path = new PropertyPath("RealColumnIndex") }); m_dicgrid.Add(item.RealColumnIndex, grd); gridMain.Children.Add(grd); } return(m_dicgrid[item.RealColumnIndex]); }
private void AddItem(MDF_ConnectItemModel item) { if (item == null) { return; } if (m_dicitem.ContainsKey(item.Key)) { return; } Grid grd = CreateGrid(item); grd.RowDefinitions.Add(new RowDefinition()); ConnectItem citem = new ConnectItem(); citem.SetBinding(ConnectItem.StyleProperty, new Binding() { Source = this, Path = new PropertyPath("ConnectItemStyle") }); citem.SetBinding(Grid.RowProperty, new Binding() { Source = item, Path = new PropertyPath("RealRowIndex") }); citem.DataContext = item; if (citem.Height < 20 || double.IsNaN(citem.Height)) { citem.Height = 20; } if (citem.Width < 20 || double.IsNaN(citem.Width)) { citem.Width = 20; } m_dicitem.Add(item.Key, citem); grd.Children.Add(citem); citem.ItemChecked += citem_ItemChecked; }
private void SetItemSelected(MDF_ConnectItemModel model, MDF_ConnectItemModel oldmodel) { if (oldmodel != null) { if (m_dicitem.ContainsKey(oldmodel.Key)) { m_dicitem[oldmodel.Key].Checked = false; } } if (model == null) { return; } if (!m_dicitem.ContainsKey(model.Key)) { return; } m_dicitem[model.Key].Checked = true; }