void pinAdorner_MouseUp(object sender, MouseButtonEventArgs e) { var pinAdorner = sender as PinAdorner; if (pinAdorner.HitPin != null) { LinkableControl targetObject = pinAdorner.HitLinkableControl; LinkPin lp1 = pinAdorner.SourcePin; LinkPin lp2 = pinAdorner.HitPin; ConnectInfo info1 = lp1.GetInfo(); ConnectInfo info2 = lp2.GetInfo(); LinkLine line = new LinkLine(info1, info2); //Panel.SetZIndex(line, designCanvas.Children.Count); Binding bi1 = new Binding(omap[info1.Orient]); bi1.ElementName = designObject.Name; line.SetBinding(LinkLine.OriginInfoProperty, bi1); Binding bi2 = new Binding(omap[info2.Orient]); bi2.ElementName = targetObject.Name; line.SetBinding(LinkLine.TargetInfoProperty, bi2); var CanvasModelItem = AdornerProperties.GetModel(adorner).Parent; ModelItemCollection myControls = CanvasModelItem.Properties["Children"].Collection; ModelItem myLinkLine = myControls.Add(line); } if (pinAdorner.HitLinkableControl != null) { pinAdorner.HitLinkableControl.IsLinkDragOver = false; } hitPin = null; if (adorner.IsMouseCaptured) { adorner.ReleaseMouseCapture(); } _panel.Children.Remove(pinAdorner); }
void Pin_MouseLeftButtonDown(object s, MouseButtonEventArgs e) { hitPin = s as LinkPin; isdrag = true; e.Handled = true; }